C STL常用容器(一)

2021-08-25 14:43:54 字數 3078 閱讀 7872

使用時需要包含標頭檔案:

#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 是一種物件,它能夠用來遍歷標準模板...