使用兩種方法來訪問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 ...