經過這段時間的學習我對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...