棧
#include
stackname;
bool empty();
void pop();
void push(const type&);
type & top();
size_type size();
佇列
#include
queuename;
bool empty();
void pop();
void push(const type&);
type & back();
type & front();
size_type size();
優先佇列: 出隊時,將當前佇列中最大的元素出隊 可以通過過載《來重新定義最大值的含義
#include
priority_queuename;
bool empty();
void pop();
void push(const type&);
type & top();
size_type size();
eg:
#include
#include
using namespace std;
struct node
} ;
int main ()
向量:一種特殊的陣列
#include
建構函式和析構函式:
vectorc
vectorc(n)
vectorc (n,elem)
vectorc (c')
c.~vector()
成員函式:
c.asisgn(beg,end);將[beg,end)區間的資料賦值給c beg end為位址
c.assign(n,elem);將n個elem賦值給c
c.back(); 返回最後乙個值,不檢查是否存在
c.begin(); 返回第乙個位址
c.capacity(); 檢查當前開闢的空間
c.size(); 檢查已經儲存的個數
c.clear(); 清空
c.empty(); 判斷是否為空
c.erase(pos) 刪除pos位置的值並返回下乙個資料的位置
c.erase(beg,end) 刪除區間內的內容
c.insert(pos,elem)在pos位置插入乙個elem,傳回下乙個資料的位置,下面也是
c.insert(pos,n,elem)
c.insert(pos,beg,end)插入區間值,無返回值
c.pop_back(); 刪除最後乙個元素
c.push_back(); 在尾部新增乙個元素
swap(c1,c2);
c1.swap(c2); 交換兩者位置
v[n]返回v中位置為n的元素
大於小於等於的判斷也適合
集合:內部通過鍊錶實現 採用了紅黑樹的平衡二叉樹的資料結構查詢和新增末元比vector慢但是新增和刪除比較快。多集multiset中可以有副本鍵,同一值可以多次出現
#include
建構函式和析構函式:
set c;
set c (op); op為排序準則
set c1 (c2);
set c (beg, end);
set c (beg, end,op);
c.~set ();
set的可選則形式
set以less<>(operator<)為排序準則
setmultiset
multiset
重要成員函式
iterator begin() ;返回指向第乙個元素的迭代器
iterator end();
void clear();
void empty();
iterator insert (type &val );插入乙個新的元素,返回新元素的位置
iterator insert (iteratorpos, type &val );pos是乙個提示性的位置,指出插入操作的搜尋起點。如果提示恰當可以大大加快速度
void erase(iterator pos);刪除pos位置的元素
void erase(iterator start,iterator end);
size_type erase(const type & val) 返回刪除的結點個數
pairequal_range(const type & val) 查詢多集中鍵值等於val的所有元素,返回知識範圍的兩個迭代器以pair返回。
size_type count(const type & val) 查詢迭代器中值為val的元素個數
iterator find(const type &val) 返回乙個迭代器指向鍵值為val的元素,如果沒有找到則返回end();
size_type size();容器中元素的個數
void swap(set&object) 交換兩個鍊錶中的元素
對映(map)
列表(list)
用法 stl 常用C 標準模板庫(STL)
定義 vectorinstname typename可以是任何基本型別,結構體或stl標準容器.2.遍歷訪問 1 通過下標 2 通過迭代器 for vector iterator it vi.begin it vi.end it vec i 和 vi.begin i 等價 3.常用函式 push b...
C 標準模板庫 STL 常用演算法
algorithm中的函式 find start,end,value start搜尋的起點,end搜尋的終點,要尋找的value值 find a.begin a.end value find a,a length,val 所有的返回,均是迭代器 容器 或指標 陣列 而非是直觀感覺上的索引下標。如果在...
C 標準模板庫STL
stl是標準c 庫的一部分。stl模板類為c 提供了完善的資料結構和演算法。stl的特點 型別引數化 即stl的 中可處理任意自定義型別的物件。泛型程式設計 generic programming 它以模板為基礎,弱化了 實體型別的差異,簡化了程式設計時問題抽象的模型,提供了更好的 封裝性和彈性。s...