STL學習總結

2021-09-12 02:27:10 字數 1188 閱讀 7034

經過這段時間的學習我對stl也有了大體的了解,接下來就要經過大量的訓練來進一步紮實stl的運用。下面我就對最近學習的知識進行總結。

一、 棧(stack)

定義:只有乙個出口,先進後出。

標頭檔案:#include

如:stacks;

使用:empty()—返回bool型別,用來判斷是否為空(s.empty())

size()—返回元素個數(s.size())

top()—返回棧頂元素(s.top())

pop()—移除棧頂元素(s.pop())

push()—加入乙個元素a(s.push(a))

二、佇列(queue)

定義:有兩個出口,先進先出,排隊模型。

標頭檔案:#include

如:queues;

使用:同上:empty()、size()、push()、pop()刪除排頭第乙個元素

front()—返回queue內的下乙個元素

back()—返回最後乙個元素

三、vector應用

標頭檔案:#include

如:vectors;

使用:同上:empty()、size()

push_back(a)—將a元素插入最末尾

pop_back()—將最末尾元素刪除

s[i]類似陣列

四、sort應用

定義:預設從小到大排序

標頭檔案:#include

sort(begin,end);

sort(begin,end,cmp);

如:int num=

(一)sort(num,num+5);——

(二)從大到小

bool cmp(int

a,int b)

sort(num,num+5,cmp);——

或者sort(num,num+5,greater())

五、upper_bound和lower_bound

upper_bound(begin,end,value)返回》value的元素的第一的位置

iower_bound(begin,end,value)返回》=value的第乙個位置

六、set和multiset

標頭檔案:#include

如:sets;預設從小到大排序

自定義排序:

struct

new_type

}

STL學習總結

歷時一月左右,基本看完了c 標準庫的原始碼,忽略了一些用處不那麼大的部分,和一些複雜難以理解的演算法 輸入輸出庫,一些複雜的演算法 stable sort,stable partition,inplace merge,list的排序,紅黑樹的調整等 總體而言,收益還是蠻多的,首先了解了stl容器的用...

STL學習總結

stl standard template library,標準模板庫 是惠普實驗室開發的一系列軟體的統稱。stl從廣義上分為 容器 演算法 迭代器,容器和演算法之間通過迭代器進行無縫連線。stl幾乎所有的 都採用了模板類或者模板函式,這相比傳統的由函式和類組成的庫來說提供了更好的 重用機會 stl...

STL學習總結

一.1 什麼是標準模板庫 stl 1 c 標準模板庫與c 標準庫的關係 c 標準模板庫其實屬於c 標準庫的一部分,c 標準模板庫主要是定義了標準模板的定義與宣告,而這些模板主要都是 類模板,我們可以呼叫這些模板來定義乙個具體的類 與之前的自己手動建立乙個函式模版或者是類模板不一樣,我們使用了 stl...