C vector的初始化和使用

2021-10-23 14:37:17 字數 2434 閱讀 1516

01 vector的初始化

1⃣️ 預設初始化

vectorilist1;

二維陣列的定義

vector> name;

vectorarrayname[arraysize];

//區別是第二種的一維長度事先固定了。

2⃣️ 通過同型別的vector進行初始化

vectorilist2(ilist); 

vectorilist2 = ilist;

3⃣️ 通過迭代器進行初始化

vectorilist3(ilist.begin()+2,ilist.end()-1);

4⃣️ 帶引數的建構函式初始化

vectorilist4(7);

5⃣️ 帶引數的建構函式初始化

vectorilist5(7,3);

6⃣️ 通過陣列位址初始化

int a[5]=

vectorvec_i(a,a+5);

02 vector的使用

#include
vectorarr;

arr.push_back(9);//在arr結尾插入數字9

arr.pop_back();//刪除arr末尾最後乙個項

arr.front();//arr的第乙個項的值

arr.back();//arr的最後乙個項的值

arr.begin();//arr的第乙個項的指標

arr.end();//arr的最後乙個項的指標

arr.size();//arr的實際長度

arr.erase(arr.begin(),arr.end());//刪除從arr的第乙個到最後乙個項

arr.insert(arr.begin(),5);//在arr的頭之前插入數字5

arr.insert(arr.begin(),6,5);//在arr的頭之前插入6個5

arr.empty();//判斷arr是否為空

arr.clear();//將arr清空

#include
sort(arr.begin(),arr.end());

//對vector排序

stable_sort(arr.begin(),arr.end());

//對vector穩定排序

reverse(arr.begin(),arr.end());

//反轉vector

vector::iterator newend = unique(arr.begin(),arr.end());

//對arr去重,並把去重後的實際個數存在迭代器newend裡面

arr.erase(newend,arr.end());

//把從newend到arr最後一項(即重複的數字)去除ces

測試**

#include#include#includeusing namespace std;

int main(){

cout<<"vector functions:"arr.push_back(9);

arr.push_back(3);

arr.push_back(5);

arr.push_back(5);

arr.push_back(7);

arr.push_back(5);

arr.push_back(3);

arr.push_back(4);

arr.push_back(2);

arr.push_back(1);

cout<<"arr.push_back() : ";

for(int i = 0;i::iterator oldend = arr.end();

vector::iterator newend;

newend = unique(arr.begin(),arr.end());

arr.erase(newend,oldend);

cout<<"unique():";

for(int i = 0;i

01 vector的初始化

1⃣️ 預設初始化

vectorilist1;

二維陣列的定義

vector> name;

vectorarrayname[arraysize];

C vector的初始化

因為編演算法的時候經常用的stl函式庫的vector,每次初始化的時候都要搜一下,這次自己整理一下。這時候v的size為0,如果直接進行訪問 v i 會報錯。這裡可以使用 v.resize n 或者v.resize n,m 來初始化 前者是使用n個0來初始化,後者是使用n個m來初始化。可以使用初始化...

C vector的初始化

因為編演算法的時候經常用的stl函式庫的vector,每次初始化的時候都要搜一下,這次自己整理一下。這時候v的size為0,如果直接進行訪問 v i 會報錯。這裡可以使用 v.resize n 或者v.resize n,m 來初始化 前者是使用n個0來初始化,後者是使用n個m來初始化。可以使用初始化...

C vector的初始化

因為編演算法的時候經常用的stl函式庫的vector,每次初始化的時候都要搜一下,這次自己整理一下。這時候v的size為0,如果直接進行訪問 v i 會報錯。這裡可以使用 v.resize n 或者v.resize n,m 來初始化 前者是使用n個0來初始化,後者是使用n個m來初始化。可以使用初始化...