C STL初學之vector用法總結之補充

2021-09-26 03:47:07 字數 1576 閱讀 2156

使用兩種方法來訪問vector。

1、 vector::at()

2、 vector::operator

operator主要是為了與c語言進行相容。它可以像c語言陣列一樣操作。

但at()是我們的首選,因為at()進行了邊界檢查,如果訪問超過了vector的範圍,將丟擲乙個例外。

由於operator容易造成一些錯誤,所有我們很少用它,下面進行驗證一下:

vector能夠非常容易地新增資料,也能很方便地取出資料,

同樣vector提供了erase(),pop_back(),clear()來刪除資料,

當刪除資料時,應該知道要刪除尾部的資料,或者是刪除所有資料,還是個別的資料。

#include #include #include //許多有用的演算法在這個裡面

使用用algorithm庫中的max_element()及min_element()函式,二者返回的都是迭代器或指標。

1.用法

(1)求陣列的最大值或最小值

1)vector容器

例 vector vec

最大值:int maxvalue = *max_element(v.begin(),v.end());

最小值:int minvalue = *min_element(v.begin(),v.end());

2)普通陣列

例 a=;

最大值:int maxvalue = *max_element(a,a+6);

最小值:int minvalue = *min_element(a,a+6);

(2)求陣列最大值最小值對應的下標

1)vector容器

例 vector vec

最大值下標:int maxposition = max_element(v.begin(),v.end()) - v.begin();

最小值下標:int minposition = min_element(v.begin(),v.end()) - v.begin();

2)普通陣列

例 a=;

最大值下標:int maxposition = max_element(a,a+6) - a;

最小值下標:int minposition = min_element(a,a+6) - a;

#include #include #include //基本的演算法

using namespace std;

int main()

{ vectorb(5); //定義乙個大小為5的vector容器

b[0]=14;

b[1]=12;b[2]=16;b[3]=44;

b.push_back(99); //在b的最後面,開闢乙個空間,並填充值1

b.push_back(11);

cout <

C STL之vector用法總結

vector是表示可變大小陣列的序列容器。就像陣列一樣,vector也採用的連續儲存空間來儲存元素。也就是意味著可以採用下標對vector的元素進行訪問,和陣列一樣高效。但是又不像陣列,它的大小是可以動態改變的,而且它的大小會被容器自動處理。本質講,vector使用動態分配陣列來儲存它的元素。當新元...

C STL之vector用法總結

vector是表示可變大小陣列的序列容器。就像陣列一樣,vector也採用的連續儲存空間來儲存元素。也就是意味著可以採用下標對vector的元素進行訪問,和陣列一樣高效。但是又不像陣列,它的大小是可以動態改變的,而且它的大小會被容器自動處理。本質講,vector使用動態分配陣列來儲存它的元素。當新元...

C STL之vector常見用法

vector 底層資料結構為陣列 支援快速隨機訪問 include include include using namespace std 比較函式 bool cmp int a,int b cout cout v1.push back 100 在末尾插入元素 v1.insert v1.begin ...