STL vector 不定長陣列

2021-08-15 08:37:00 字數 2625 閱讀 6919

包含在vector標頭檔案中

使用方式為

vector< int >vec; //定義了乙個vec陣列

vector< int > vec(10); //定義了元素數, 各元素都為0

size()函式//返回陣列元素數, 即陣列大小

resize()函式//重置陣列大小

push_back(argu)//函式向後新增元素argu

pop_back()//刪除最後乙個元素

clear()函式//將陣列清空

resize()可以設定陣列大小, 元素全為0

vector< int > vec(3); //元素數為3

vec.resize(5); //擴充套件為5, 元素值都為0

#include 

#include

#include

using

namespace

std;

int main()

有 :

begin()函式, 返回陣列的第乙個元素的位置

end()函式, 返回陣列的最後乙個元素的下乙個位置

插入函式insert()//插入到當前指標位置, 原來的元素向後移

刪除函式erase()//刪除當前指標位置的元素, 之後的元素向前移動

判斷是否為空函式empty()//返回bool數

**示例:

#include 

#include

#include

using

namespace

std;

int main()

for(int i = 0; i < 20; ++i)

vec.insert(vec.begin(), -1);

for(int i = 0; i < 20; ++i)

vec.erase(vec.end() - 1);

for(int i = 0; i < 20; ++i)

}

三種列印方式

傳統的下標, 如vec[1]

vec.at(i), 使用at函式的引數表示位置

使用迭代器的方法

**示例:

#include 

#include

#include

using

namespace

std;

int main()

for(int i = 0; i < 20; ++i)

for(int i = 0; i < 20; ++i)

vector

::iterator it = vec.begin();

while(it != vec.end())

}

使用reverse將元素翻轉

reverse(vec.begin(),vec.end());

//將元素翻轉

使用sort排列

sort(vec.begin(), vec.end(), cmp);

cmp為自定義的比較函式

多維陣列宣告方式

vector< int> vec[100];

以上宣告了乙個元素數為100的vector陣列

注意: 陣列大小固定

同理有其他多維

vector < int > vec[100][100][100];

但這些除最後一維其他維都是固定的

另一種宣告方式

vector < vector< int > > vec;

如:

#include 

#include

using

namespace

std;

int main()

for( int i = 0; i < 20; ++i )

cout

<< endl;

}cout

<< vec.size() << endl;

}

#include 

#include

using

namespace

std;

int main()

cout

<< vec.size() << endl;

vector

vecc;

vecc.resize(10000);

for( int i = 0; i < 10000; ++i )

vec.push_back(3);

cout

<< endl;

for( int i = 0; i < 101; ++i )

}

不定長陣列 vector

使用需要包含標頭檔案 include vector是乙個模板類,所以需要用vectora或者vectorb這種方式宣告。vector的常用操作 int len a.size 返回vector長度 a.resize 100 把a長度變為100 a.push back 10 把10新增到尾部 a.pop...

不定長陣列 vector

vector是乙個不定長陣列模板類,所以需要用vectora或者vectorb這樣的方式來進行宣告乙個vector。vector是乙個類似於int a的整數陣列,而vector就是乙個類似於string a的字串陣列。使用vector時要加 include標頭檔案 常用的vector陣列的方法有 i...

不定長陣列 vector

1.vector 在使用它時,需要包含標頭檔案vector,include.vector 容器與陣列相比其優點在於它能夠根據需要隨時 自動調整自身的大小以便容下所要放入的元素,提供了許 多的方法來對自身進行操作.2.初始化 vectora 宣告乙個int型向量a vectora 10 宣告乙個初始大...