C 之vector容器初學 二 插入和刪除

2021-10-07 13:05:39 字數 2375 閱讀 7554

理論知識

² vector.insert(pos,elem);   //在pos位置插入乙個elem元素的拷貝,返回新資料的位置。

² vector.insert(pos,n,elem);   //在pos位置插入n個elem資料,無返回值。

² vector.insert(pos,beg,end);   //在pos位置插入[beg,end)區間的資料,無返回值 

簡單案例

vectorveca;

vectorvecb;

veca.push_back(1);

veca.push_back(3);

veca.push_back(5);

veca.push_back(7);

veca.push_back(9);

vecb.push_back(2);

vecb.push_back(4);

vecb.push_back(6);

vecb.push_back(8);

veca.insert(veca.begin(), 11); //

veca.insert(veca.begin()+1,2,33); //

veca.insert(veca.begin() , vecb.begin() , vecb.end() ); //

測試**:

[cpp]view plain

copy

#include 

using namespace std;  

#include "vector"  

void printv(vector&v)  

cout <

}  //插入操作  

理論知識

² vector.clear(); //移除容器的所有資料

² vec.erase(beg,end);  //刪除[beg,end)區間的資料,返回下乙個資料的位置。

² vec.erase(pos);    //刪除pos位置的資料,返回下乙個資料的位置。

簡單案例:

刪除區間內的元素

vecint是用vector宣告的容器,現已包含按順序的1,3,5,6,9元素。

vector::iterator itbegin=vecint.begin()+1;

vector::iterator itend=vecint.begin()+2;

vecint.erase(itbegin,itend);

//此時容器vecint包含按順序的1,6,9三個元素。

假設 vecint 包含1,3,2,3,3,3,4,3,5,3,刪除容器中等於3的元素

for(vector::iterator it=vecint.being(); it!=vecint.end(); )    //小括號裡不需寫  ++it

if(*it == 3)

it  =  vecint.erase(it);       //以迭代器為引數,刪除元素3,並把資料刪除後的下乙個元素位置返回給迭代器。

//此時,不執行  ++it;  

else

++it;

//刪除vecint的所有元素

vecint.clear(); //容器為空

測試**:

[cpp]view plain

copy

#include 

using namespace std;  

#include "vector"  

void printv(vector&v)  

cout <

}  //刪除操作  

void main2()  

printv(v1);  

v1.erase(v1.begin(),v1.begin()+4);//區間刪除  

printv(v1);  

v1.erase(v1.begin());//頭部刪除  

printv(v1);  

v1[0] = 23;  

v1[1] = 22;  

printv(v1);  

for (vector::iterator it = v1.begin(); it != v1.end();)//刪除容器裡等於8的元素  

C 之Deque容器初學(二)

deque物件的帶引數構造 理論知識 deque beg,end 建構函式將 beg,end 區間中的元素拷貝給本身。注意該區間是左閉右開的區間。deque n,elem 建構函式將n個elem拷貝給本身。deque const deque deq 拷貝建構函式。dequedeqinta deqin...

c 之vector(建立容器)

表示物件的集合,所有物件的型別都相同 集合中每個物件都有乙個對應的索引,用於訪問物件 標頭檔案 include using std vector提供資訊的方式為 在模板名字後面跟著的一對尖括號裡放上資訊 vectorv1不同型別的元素只能放入與之型別相對應的容器中,不能亂搭 初始化vector物件的...

C 容器基礎之vector

vector是線性容器,元素按照線性順序排序,容器中元素儲存在一塊連續的記憶體中,類似與陣列,不過vector可以自動增長或縮小儲存空間。和其他標準的順序容器相比 vector可以更有效的訪問容器內元素,和在末尾新增 刪除元素 而在其他位置的新增刪除元素,vector不如其他順序容器。注意 size...