C STL中vector容器類的簡單操作

2021-06-28 10:27:36 字數 1237 閱讀 8590

vector是c++標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。

vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件;

簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。

vector容器類的基本操作有:

(1)標頭檔案:#include

(2)建立物件int型別物件ans:vector < int > ans;

(3)尾部插入元素x

:ans.push_back(x);

(4)在第i個元素(元素標號由0開始)前面插入x:ans.insert( ans.begin( )+i,x );

(5)刪除尾部元素:ans.pop_back();

刪除第i個元素:ans.erase(ans.begin( )+i );

刪除區間[  i , j ):ans.erase(ans.begin( )+i,ans.end( )+j);

(6)訪問第0個元素:cout<

使用迭代器訪問:

vector::iterator it;

for(it=ans.begin();it!=ans.end();it++)

cout<<*it<(7)容器大小:ans.size();

(8)清空:ans.clear();

(9)判斷是否為空:ans.empty();

vector的變數型別不僅可以是int,double,string型別的,還可以是結構體型別,但此時結構體型別要定義為全域性變數。

#include typedef struct node

node;

int main()

兩個vectors被認為是相等的,當且僅當:

它們具有相同的容量且

所有相同位置的元素都相等.

vectors之間大小的比較是按字典序進行的.

此外,vector定義的變數還可以作為其他函式的引數:

(1)使用reverse函式將元素翻**(需要標頭檔案#include)

reverse(ans.begin(),ans.end());將元素翻轉(在vector中,如果乙個函式中需要兩個迭代器,

一般後乙個都不包含.)

(2)使用sort排序:(需要標頭檔案#include)

sort(vec.begin(),vec.end());(預設是按公升序排列,可自己寫cmp函式降序排列).

C STL中的容器 Vector

c stl中的verctor好比是c語言中的陣列,但是vector又具有陣列沒有的一些高階功能。與陣列相比,vector就是乙個可以不用再初始化就必須制定大小的邊長陣列,當然了,它還有許多高階功能。要想用vector首先得包含標頭檔案vector。如果vector的元素型別是int,預設初始化為0 ...

C STL中vector容器的用法

vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。為了可以使用vector,必須在你的標頭檔...

C STL中vector容器的用法

vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。為了可以使用vector,必須在你的標頭檔...