使用時需要包含標頭檔案:
#include
;
1.初始化vector
vec(16); //定義了已知長度16的vector
vector
vec(64,2); //定義了初值為2長度64的vector
vector
vec(a); //用a向量來建立向量
vector
vec(a.begin()+i,a.begin()+j); //定義了值為a中第i個到第j個元素
vector
>
array(i.vector
(j,0));//相當於定義了初始值為0的乙個二維陣列array[i][j];
vector
>
array;//相當於定義了的乙個二維陣列array[i][j];
array.resize(i, vector
(j));
2.成員函式的用法vector
v;v.push_back(elem);//在尾部加入乙個資料elem。
v.pop_back();//去掉陣列的最後乙個資料。
v.size();//返回容器中實際資料的個數。
v.empty();//判斷容器是否為空。
v.begin();//返回指向容器第乙個元素的迭代器。
v.end();//返回指向容器最後乙個元素的迭代器。
v.erase(v.begin()+i,v.begin()+j);//刪除v中第i個(從第0個算起)到第j個元素。
v.insert(v.begin()+i,elem);//在第i個元素(從第0個算起)的位置插入數值elem。
3.特點使用時需要包含標頭檔案:
#include
;
1.成員函式的用法stack
s;s.empty(); //堆疊為空則返回真。
s.pop(); //移除棧頂元素。
s.push(elem); //在棧頂增加元素elem。
s.size(); //返回棧中元素數目。
s.top(); //返回棧頂元素。
2.特點使用時需要包含標頭檔案:
#include
;
1.成員函式的用法queue
q;q.push(elem); //入隊,將elem接到佇列的末端。
q.pop(); //出隊,彈出佇列的第乙個元素。
q.front();//訪問隊首元素。
q.back();//訪問隊尾元素。
q.empty();//判斷佇列空。
q.size();//訪問佇列中的元素個數。
2.優先順序佇列priority_queue ,greater > q;//公升序佇列
priority_queue ,less >q;//降序佇列
/*自定義型別*/
priority_queue, cmp> q;
struct cmp
};/*結構體宣告方式*/
struct node
};priority_queueq;
3.特點使用時需要包含標頭檔案:
#include
;
1.初始化list
lst; //建立空list
list
lst(10); //建立含有10個元素的list
list
lst(10,6); //建立含有10個元素6的list
list
lst(lst0);//使用lst0(另乙個list)初始化lst
list
lst(lst0.begin(),lst0.end());//使用lst0(另乙個list)初始化lst
2.成員函式的用法list
lst;
lst.pop_back();//刪除最後乙個元素。
lst.pop_front();//刪除第乙個元素。
lst.push_back(elem);//在list的末尾新增乙個元素。
lst.push_front(elem);//在list的頭部新增乙個元素。
lst.clear();//刪除所有元素。
lst.empty();//如果list是空的則返回true。
lst.back();//返回最後乙個元素。
lst.begin();//返回指向第乙個元素的迭代器。
/*--------------------遍歷--------------------*/
list
::iterator it;
for(it= lst.begin(); it!=lst.end(); ++it)
cout
<< *it << " ";
3.特點使用時需要包含標頭檔案:
#include
;
1.初始化deque
deq;//建立乙個空的deque
deque
deq(10);//建立含有10個元素的deque
deque
deq(10, 6);//建立含有10個元素6的deque
deque
deq(deq0);//使用deq0(另乙個deque)初始化deq
2.成員函式的用法deque
deq;
deq.front();//返回第乙個元素的引用。
deq.back();//返回最後乙個元素的引用。
deq.push_front(elem);//把元素elem插入到雙向佇列的頭部。
deq.pop_front();//彈出雙向佇列的第乙個元素。
deq.push_back(elem);//把元素elem插入到雙向佇列的尾部。
deq.pop_back();//彈出雙向佇列的最後乙個元素。
3.特點 C STL常用容器 一
4 4 2019 4 50 15 pm 2 set 集合 3 string 開始時候引入 includeusing namespace std typename 可以是 int double char node vectorname vector陣列 其中 arrayname 0 arrayname...
C STL 常用容器 list
鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。相較於vector的連續線性空間,l...
C STL容器學習(一)
容器 一些特定型別物件的集合 順序容器 vector list forward list vector 可變大小陣列,支援快速隨機訪問 list 雙向鍊錶,只支援雙向順序訪問 forward list 單向鍊錶,只支援單向順序訪問 迭代器 迭代器 iterator 是一種物件,它能夠用來遍歷標準模板...