C STL學習 持續更新

2021-10-02 05:00:56 字數 2974 閱讀 9937

2.stack(棧)

3.queue(佇列)

4.priority_queue(優先佇列,即堆)

更詳細內容參考其它dalao總結

vector,set,string,map,queue,priority_queue,stack,pair,bitset

包含標頭檔案#include

(

1) vector<

int> a;(2

) vector<

int>a(

10);// 直接開闢10個int型別的向量(3

) vector<

int>a(

10,1)

;// 開闢的同時賦初值為1

(

1) a[i]

;// 返回a的第i個元素(2

) a.

size()

;// 返回a中有多少個元素(3

) a.

clear()

;// 清空a中的元素(4

) a.

empty()

;// 判斷a是否為空,空則返回true,不空返回false(5

) a.

push_back(5

);// 向a中最後插入乙個元素5(6

) a.

pop_back()

;// 刪除a中最後乙個元素(7

) a.

erase

(a.begin()

+1, a.

end())

;// 刪除a中第1個元素到最後乙個元素,左閉右開(8

) a.

insert

(a.begin()

+1,5

);// 在a中第1個元素位置插入數值5,其它往後移(9

) a.

insert

(a.begin()

+1,3

,5);

// 在a中第1個元素位置插入3個數,其值為5(10

) a.

insert

(a.begin+

1,b+

3,b+6)

;// b為陣列,在a的第1個元素位置插入b的第3個元素到第5個元素(左閉右開)(11

) a==b;

// b為向量,判斷兩個向量是否相等,比較操作還有!=,>=,<=,>,<

vector<

int> a;(1

)for

(int i=

0;isize()

;i++

) a.

push_back

(i);(2

)for

(auto c : a) cout << c <<

' ';

// auto(3

)for

(vector<

int>

::iterator it=a.

begin()

; it != a.

end(

); it ++

) cout <<

*it <<

' ';

//迭代器

(1)

sort

(a.begin()

, a.

end())

;// 排序,左閉右開(3

) a.

erase

(unique

(a.begin()

, a.

end())

, a.

end())

;// 去重! 需要在排序後使用(2

)reverse

(a.begin()

, a.

end())

;// 翻轉,左閉右開

包含標頭檔案#include

stack<

int> s;(1

) s.

size()

;// 返回棧中元素個數(2

) s.

empty()

;// 判空(1

) s.

push(1

);// 壓棧,把數值1壓入棧中(2

) s.

top();

// 返回棧頂元素(5

) s.

pop();

// 彈出棧頂元素

包含標頭檔案#include

queue<

int> q;(1

) q.

size()

;(2) q.

empty()

;(3) q.

push(1

);// 向隊尾插入乙個元素(4

) q.

front()

;//返回隊頭元素(5

) q.

back()

;// 返回隊尾元素(5

) q.

pop();

// 彈出隊頭元素

包含標頭檔案#include

priority_queue<

int> q;

// 優先佇列,預設大根堆

定義成小根堆的方式:priority_queue<

int, vector<

int>

, greater<

int>> q;(1

) q.

size()

;(2) q.

empty()

;(3) q.

push(1

);// 插入乙個元素(4

) q.

top();

// 返回堆頂元素(5

) q.

pop();

// 彈出堆頂元素

C STL應用(持續更新 )

vector是動態陣列,可以理解為是能夠根據需要隨時申請記憶體的動態陣列。常用操作如下 容量vec.size 向量大小 vec.empty 向量判空 如果為空true 不為空false 修改vec.push back 向向量末尾新增乙個元素 vec.pop back 刪除向量末尾元素 vec.ins...

C STL在演算法題中的應用 持續更新

寫洛谷的題,有時候不會總是會去看題解,有的思路很巧妙,需要學習,有的用了很厲害的stl,之前一直在看,現在想想也是要記下來好一點。這個帖子持續更新吧,再見到好用的stl就在這裡記下來 1.vector,是個容器很好用,但是我基本沒怎麼用過 2.string.find first not of 0 找...

CSS學習(持續更新)

學習css的過程中遇到的一些值得留下筆記的地方 1.樣式衝突 特殊性 id class 元素名本身 如元素p 順序 特殊性相同時,後出現的優先順序高 重要性important 在樣式後加 important 提高樣式重要性,這樣在遇到樣式衝突時,網頁將使用有important的樣式,而不是後出現的樣...