STL常用總結

2021-07-13 21:02:16 字數 1180 閱讀 2929

棧(statck)這種資料結構在計算機中是相當出名的。棧中的資料是先進後出的(first in last out, filo)。棧只有乙個出口,允許新增元素(只能在棧頂上增加)、移出元素(只能移出棧頂元素)、取得棧頂元素等操作。

在stl中,棧是以別的容器作為底部結構,再將介面改變,使之符合棧的特性就可以了。因此實現非常的方便。下面就給出棧的函式列表,在stl中棧一共就5個常用操作函式(

top()、push()、pop()、 size()、empty() 

),很好記的。

queue單向佇列與棧有點類似,乙個是在同一端訪問資料,另乙個是在一端存入資料,另一端取出資料。單向佇列中的資料是先進先出(first in first out,fifo)。在stl中,單向佇列也是以別的容器作為底部結構,再將介面改變,使之符合單向佇列的特性就可以了。因此實現也是非常方便的。下面就給出單向佇列的函式列表和vs2008中單向佇列的源**。單向佇列一共6個常用函式(front()、back()、push()、pop()、empty()、size()),與棧的常用函式較為相似。

下面再介紹stl中與堆相關的4個函式——建立堆make_heap(),在堆中新增資料push_heap(),在堆中刪除資料pop_heap()和堆排序sort_heap():

標頭檔案 #include

下面的_first與_last為可以隨機訪問的迭代器(指標),_comp為比較函式(仿函式),其規則——如果函式的第乙個引數小於第二個引數應返回true,否則返回false。

建立堆

make_heap(_first, _last, _comp)

預設是建立最大堆的。對int型別,可以在第三個引數傳入greater()得到最小堆。

在堆中新增資料

push_heap (_first, _last)

要先在容器中加入資料,再呼叫push_heap ()

在堆中刪除資料

pop_heap(_first, _last)

要先呼叫pop_heap()再在容器中刪除資料

堆排序

sort_heap(_first, _last)

排序之後就不再是乙個合法的heap了

STL常用函式總結

先進後出,只有乙個出口,只能操作最頂端元素。定義stackstack name 例 stack int s 操作s.empty 返回bool型,表示棧內是否為空 s.size 返回棧內元素個數 s.pop 移除棧頂元素 s.push a 向棧中壓入a元素 s.top 返回棧頂元素 先進先出,從底端加...

STL常用容器總結

include 標頭檔案 queue q 定義 q.push x 入隊 q.pop 出隊 q.empty 判空 q.size 佇列元素個數 q.front 隊首元素值 q.back 隊尾元素值 include 標頭檔案 stack s 定義 s.push x 入棧 s.pop 出棧 s.empty ...

常用的STL總結 二

algorithm標頭檔案的常用函式 char a 10 while next permutation a,a 3 輸出結果 312321 想要輸出所有排列組合,先對其排序,在輸出當前排列後進行轉換為下乙個,所有用do while迴圈 char a 10 sort a,a 3 dowhile nex...