理論知識
² 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...