c++ Vector向量容器
阿新 • • 發佈:2018-11-09
使用Vector需要先在標頭檔案定義#include<vector>
1:通過例項瞭解如何賦值,新增,刪除
#include <iostream> #include<vector> using namespace std; int main() { vector<double> v (10,14.12);//定義一個儲存10個double型別元素的向量容器,其中的每一個元素都為14.12 v[5]=10.14; //對v[5]進行重新賦值 v[9]=78.10;//對v[9]進行重新賦值 vector<double>::iterator it; //定義迭代器變數it for(it=v.begin();it!=v.end();it++) //從首元素到最後一個元素的下一個元素位置結束 { cout << *it << endl;//將這10個double型別的元素輸出出來 } cout<<endl; v.push_back(2);//將2這個元素從尾部新增到v向量容器中去 v.push_back(5);//將5這個元素從尾部新增到v向量容器中去 v.insert(v.begin()+2,1);//在第二個元素後面插入新元素1(如果前面的程式碼中在首位加了元素,依然是在第二個元素後加) v.insert(v.end(),3);//在v向量容器末尾追加新元素3 for(it=v.begin();it!=v.end();it++) //從首元素到最後一個元素的下一個元素位置結束 { cout << *it << endl;//將這10個double型別的元素輸出出來 } cout<<endl; v.erase(v.begin()+1,v.begin()+5); //元素從0開始計數,將第2個到第5個元素給刪除掉 for(it=v.begin();it!=v.end();it++) { cout<<*it<<endl; } cout<<endl; v.clear(); //將v這個向量容器給清空 cout<<v.size()<<endl; //輸出v這個向量容器的大小 return 0; }
程式碼執行結果:
14.12
14.12
14.12
14.12
14.12
10.14
14.12
14.12
14.12
78.1
14.12
14.12
1
14.12
14.12
14.12
10.14
14.12
14.12
14.12
78.1
2
5
3
14.12
14.12
10.14
14.12
14.12
14.12
78.1
2
5
3
0
Process returned 0 (0x0) execution time : 0.065 s
Press any key to continue.
程式碼執行結果
2:反向排列
#include <iostream> #include<algorithm> #include<vector> using namespace std; int main() { vector<int>v(10,1); //定義一個整形的大小為10個元素且均為1的v向量容器 vector<int>::iterator it; //定義迭代器變數it for(int i=0;i<10;i++) //將v向量容器進行重新賦值9~0; { v[i]=i; } for(it=v.begin();it!=v.end();it++) //遍歷輸出v向量容器 { cout<<*it<<" "; } cout<<endl; reverse(v.begin(),v.end()); //反向排列向量的從首到尾之間的元素 for(it=v.begin();it!=v.end();it++) //遍歷輸出v向量容器 { cout<<*it<<" "; } cout<<endl; return 0; }
執行結果:
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
Process returned 0 (0x0) execution time : 0.016 s
Press any key to continue.
3:sort排序(預設為升序)
#include <iostream> #include<algorithm> #include<vector> using namespace std; int main() { vector<int>v(10,1); //定義一個整形的大小為10個元素且均為1的v向量容器 vector<int>::iterator it; //定義迭代器變數it for(int i=0;i<10;i++) //將v向量容器進行重新賦值9~0; { v[i]=i; } sort(v.begin(),v.end()); //sort函式方法預設情況下對向量容器進行升序排列 for(int j=0;j<10;j++) { cout<<v[j]<<" "; } cout<<endl; sort(v.begin(),v.end()); for(int k=9;k>=0;k--)//for迴圈減法輸出實現降序排列 { cout<<v[k]<<" "; } cout<<endl; return 0; }