作用:它能夠像容器一樣存放各種型別的物件,簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。
vector在c++標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。
特別注意:
使用vector需要注意以下幾點:
1、如果你要表示的向量長度較長(需要為向量內部儲存很多數),容易導致記憶體洩漏,而且效率會很低;
2、vector作為函式的引數或者返回值時,需要注意它的寫法:
double distance(vector&a, vector&b) 其中的「&」絕對不能少!!!
原文:
vector中可以存基本型別,也可以儲存類物件,陣列等。
**實現:
vectorvec;
for(int i=0;i<10;i++)
vec.insert(vec.begin()+1,5);//在下標為1的位置插入5,其餘元素向後移動
vector::iterator it;
for(it = vec.begin();it != vec.end();it++)//使用迭代器輸出
cout《在vector中reverse(vec.begin(),vec.end());可以全部翻轉,也可以區域性翻轉
reverse(vec.begin()+2,vec.end()-3);//只要注意使用範圍就可以。
定義乙個二維動態陣列u,實現乘法口訣。
#include #include #include using namespace std;
int main()
; for(int i=1;i<10;i++)
}for(int i=1;i=j)
(1) 使用reverse將元素翻**需要標頭檔案#include
reverse(vec.begin(),vec.end());將元素翻轉,即逆序排列!
(在vector中,如果乙個函式中需要兩個迭代器,一般後乙個都不包含)
(2)使用sort排序:需要標頭檔案#include,
sort(vec.begin(),vec.end());(預設是按公升序排列,即從小到大).
可以通過重寫排序比較函式按照降序比較,如下:
定義排序比較函式:
bool comp(const int &a,const int &b)
呼叫時:sort(vec.begin(),vec.end(),comp),這樣就降序排序。
輸出vector的中的元素
vectorvecclass;
int nsize = vecclass.size();
//列印vecclass,方法一:
for(int i=0;i需要注意的是:以方法一進行輸出時,陣列的下表必須保證是整數。
//列印vecclass,方法二:
for(int i=0;ifor(vector::iterator it = vecclass.begin();it!=vecclass.end();it++)
cout《二維陣列的使用:
#include "stdafx.h"
#include
#include
#include
using namespace std;
int main()
;vector v1;
v1.push_back(out[0]);
v1.push_back(out[1]);
v1.push_back(out[2]);
cout << v1[0][0] << endl;//1
cout << v1[0][1] << endl;//2
cout << v1[1][0] << endl;//3
cout << v1[1][1] << endl;//4
cout << v1[2][0] << endl;//5
cout << v1[2][1] << endl;//6
return 0;
}vector中insert()的用法詳解:
原文:
STL中vector的使用
vector是標準模板庫中我們經常使用的容器,它與陣列類似,它擁有一段連續的記憶體空間,並且起始位址不變,因此它能很好的支援隨機訪問 使用操作符訪問其中的元素 但由於它的記憶體空間是連續的,所以在中間進行插入和刪除操作會造成記憶體塊的拷貝 複雜度為o n 另外,當該陣列的記憶體空間不夠時,需要重新申...
STL中vector使用詳解
vector類常用的函式如下所示 1.建構函式 vector 建立乙個空vector vector int nsize 建立乙個vector,元素個數為nsize vector int nsize,const t t 建立乙個vector,元素個數為nsize,且值均為t vector const ...
STL之vector的使用
本文 vector是連續記憶體容器,換句話說,標準要求所有標準庫實現的時候,vector中的元素的記憶體必須是連續的。所以對於插入和刪除的時間複雜度是很高的,因為刪除或者插入的時候,需要元素的移動,即元素複製拷貝。vector的內部實現一般需要用到placement new 所以效率很高,因為很多的...