STL(大量部落格蒐集整理,持續更新

2021-08-28 10:33:21 字數 1943 閱讀 5816

mark 非常好的總結

template

//template 是關鍵字,t 表示一種待例項化的型別

//template也是對的

//函式定義模板

//類 模板

//類 模板

#includeusing namespace std;

//定義名為ex_class的類模板

template < typename t> class ex_class

void set_value(t v)

t get_value(void)

};//main()函式中測試ex_class類模板

int main()

{ //測試int型別資料

ex_class a(5),b(10);

cout<

cout<

cout<

成員函式介紹

1.empty() 堆疊為空則返回真

2.pop() 移除棧頂元素

3.push() 在棧頂增加元素

4.size() 返回棧中元素數目

5.top() 返回棧頂元素 

v.begin(); //容器的起始位置

v.end(); //容器最後乙個位置後的位置

v.front();v.back(); //返回第乙個元素(最後乙個元素,但不判斷時候存在

v.empty(); //返回是否容器為空

v.clear(); //清空容器

v2.assign(8,1); // 重新給vec2賦值,8個成員的初始值都為1 此操作之後vector變成新的size&value

v.push_back(element); //壓入乙個元素到末端

v.pop_back(); //彈出最後乙個元素

v.reserve(100);v.resize(101); //resize已經建立空間如果再v.push_back()空間就會到101,而reserve只是預留空間並沒有真正建立,v.push_back() 只是在第1位

v.size();v.capacity(); //size表示的是已經建立的空間大小也可以表示元素個數可用v的形式直接訪問,

capacity容器容量,是預留空間並沒有實際建立

swap(a,b); //交換兩個元素的位置如:swap(v[0],v[1]);

vectorv(10); //建立乙個前十個元素為int的容器

vectorv(10,string("i")); //使容器的前10個元素都為string型,並且都初始化為i

vectorv1(v2); //對於已經存在的v2建立乙個v1副本 //這操作可以啊

v.insert(place,element); v.insert(place,n,element); //在place(迭代器)位插入n個元素

//注:對vector元素的訪問可以用類似c語言的v,但是最好用v.at(),它會檢查是否越界更安全

v[0]; // a

v.at[0]; // b 這樣越界的時候比較安全

不總結不總結了 看這篇就很好

佇列補充:

優先佇列 :

less是從大到小,greater是從小到大!!!!

回頭把最近做的stl的題總結了才是硬道理。。。。。。。

書摘 網路蒐集整理 (1 10)

1 少時學語苦難圓,只道功夫半未全 到老方知非力取,三分人事七分天。2 注意你的思想,因為它將變成言辭 注意你的言辭,因為它將變成行動 注意你的行動,因為它將變成習慣 注意你的習慣,因為它將變成性格 注意你的性格,因為它將決定你的命運。3 該講究的時候要講究,該將就的時候要將就。4 你一定得認識到自...

書摘 網路蒐集整理 (11 20)

11 對人,知感恩 對事,知盡心 對物,知珍惜 對己,知克制。12 事莫虛應,應則必辦,不辦便結怨 願莫輕許,許願必還,不還便成債。13 乙個人只要肯深入到事物表面以下去探索,哪怕他自己也許看得不對,卻為旁人掃清了道路,甚至能使他的錯誤也終於為真理的事業服務。一博克 14 每個人的世界都是乙個圓,學...

ADB命令彙總(蒐集整理)

工作中用到的一些adb命令記錄,防止忘記。1 adb pull 和adb push adb pull system etc otpdata input parameters values.txt 將手機裡的某個檔案匯出到電腦上 adb push 將手機裡的某個檔案放到手機裡 2 adb shell ...