STL中vector的使用

2021-09-05 10:46:25 字數 2053 閱讀 3886

作用:它能夠像容器一樣存放各種型別的物件,簡單地說,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 所以效率很高,因為很多的...