[C++] STL(vector,set,map,sort,random_shuffle,reverse,unique)

1.vector
2.set/multiset/bitset
3.map/multimap
4.sort
5.reverse/random_shuffle/unique

1.vector
vector是一個變長數組,支持數組表示法和隨機訪問
成員函數:
size/empty;
clear;
begin/end;
front/back;
push_back/pop_back;
erase;
insert;(位置,值/範圍)

2.set
set是有序(升序)集合,multiset是多重有序集合。可翻轉、經過排序的關係容器。鍵和值類型一致。內部實現爲紅黑樹。
關聯容器將值和鍵關聯在一起,通過鍵查找值。
成員函數:
size/empty/clear/erase;
begin/end;
find/insert;//insert 用於添加,erase(值)用於刪除
count;//統計等於x的個數
lower_bound/unperbound//大於等於x最小的,大於x最小的

3.map
map是一個鍵值對映射,multimap一個鍵可以和多個值關聯。可翻轉且經過排序的關聯容器。鍵和值的類型可以不同。內部實現爲紅黑樹。
專用成員函數:
size/empty/clear/erase;
begin/end;
find/insert;
//insert(make_pair(s,z));//插入一對鍵值對
//count[s] 鍵s對應的值z 只能用於map

4.sort
sort是一個排序函數,時間複雜度爲nlogn.
優先級定義:
自定義優先級
運算符重載
sort(a,a+10,greater() );//less爲升序,greater爲降序 頭文件 functional

5.random_shuffle
random_shuffle將序列隨機打亂
reverse翻轉
unique去重

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章