C 中vector容器所包含的一些方法

2021-06-29 11:30:00 字數 1850 閱讀 3161

vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。使用vector 需要在標頭檔案中增加 #include

vector其實是乙個模板,我們在使用時必須指定元素的型別,如宣告乙個int型別的vector,

vectortest; //宣告乙個int型別的vector叫test。

vector初始化:

vectortest(10,-1); // test初始化為含有10個元素值為-1的vector容器。

或  vectortest=;  //test含有元素為1,2,3,4這4個元素,這是c++新的標準,有的編譯器可能不支援。

如何動態的新增元素到vector中呢?

1. push_back()  //  

使用vector中的成員函式push_back()可以往vector中新增函式。長度不限。

可以通過下標修改、訪問指定位置的元素,如test[2]訪問vector中的第3個元素,與陣列類似。 或

通過迭代器訪問修改vector中的元素,如

vector::iterator it;

for(it=test.begin();it!=test.end();it++)     //vector中的begin()成員函式獲得第乙個元素,end()獲得最後乙個函式。

cout<<*it<<"   ";    //  輸出vector中的所有元素。  這裡也可以修改元素的值 如 *it=10,將元素的值改為10;

2. at(int index)  // 獲得指定下標的元素。  

3. size()  // 獲得vector的元素的個數。

4. empty()  // 判斷vector是否為空,為空返回true。

5. erase()   // 從指定容器刪除指定位置的元素或某段範圍內的元素,指向的是刪除元素的下乙個元素。

返回值是乙個迭代器.

特別注意:

如vector中有: 3  10  10  6  9  15

一一遍歷容器找到元素值為10,然後一一刪除

for(iter = v1.begin(); iter != v1.end(); iter++)  }

修改後的**為:

for(iter = v1.begin(); iter != v1.end(); iter++) 

}  最後vector中的元素為:3  10  6  9   15

注意:這裡只刪除了乙個10,原因是erase函式返回的是刪除元素的下乙個元素,然後這後面還有iter++,所以就跳過了後面那個10.

clear()     // 移除容器中所有資料。

pop_back()       // 刪除最後乙個資料。

insert(pos,elem)    // 在pos位置插入乙個elem拷貝,傳回新資料位置。

c1.swap(c2)

swap(c1,c2)        // 將c1和c2元素互換。

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

例子如下:  

lista;  

a.push_back(1);  

a.push_back(6);  

a.push_back(3);  

a.push_back(6);  

a.push_back(6);  

a.push_back(2);  

list::iterator itor;  

a.remove(6);

for(itor=a.begin();itor!=a.end();itor++)

cout<<*itor<<"  ";

顯示結果為:1  3  2。

c 中的vector容器

在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout 5 使用迭代器訪問元素.vector iterator i...

C 中vector容器的用法

1 標頭檔案 include.2 建立vector物件,vector vec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec.begin it vec.end it cout it 6 插入元素 vec.i...

C 中 vector(容器)的用法

vector 向量 c 中的一種資料結構,確切的說是乙個類.它相當於乙個動態的陣列,當程式設計師無法知道自己需要的陣列的規模多大時,用其來解決問題可以達到最大節約空間的目的.一.用法 1.檔案包含 首先在程式開頭處加上 include以包含所需要的類檔案vector 還有一定要加上using nam...