在一般情況下,對數組進行相應的操作可能比較復雜,但是將數組放在C++vector(容器)中操作可能更為容易
比如說對數組進行排序,刪掉最后一個數據等。(STL標准庫)
需加頭文件#include <vector>
一:數組與vector的聯系
1.1一般數組的處理
數組傳進vector方式: int a[3]={1,2,3} vector <int> test; for(int i=0;i<3;i++) test.push_back(a[i]); 輸出數組方式 for(int j=0;j<test.size();j++) cout<<test[j]<<" ";
1.2多個數組相接
#include <iostream> using namespace std; #include <vector> int main() { int b[3]={1,2,3}; int c[3]={4,5,6}; vector<int>a; for(int i=0;i<3;i++) a.push_back(b[i]); //兩個數組的數據添加到同一容器里 for(int i=0;i<3;i++) a.push_back(c[i]); for(int j=0;j<a.size();j++) cout<<a[j]<<" "; system("pause"); return 0; }
二:多個vector的簡單做法(注意迭代器)
定義:迭代器是一種檢查容器內元素並遍歷元素的數據類型。
迭代器提供對一個容器中的對象的訪問方法,並且定義了容器中對象的范圍。
#include <iostream> using namespace std; #include <vector> int main() { int b[3]={1,2,3}; int c[3]={4,5,6}; vector<int>a; for(int i=0;i<3;i++) a.push_back(b[i]); //兩個數組的數據添加到同一容器里 for(int i=0;i<3;i++) a.push_back(c[i]); vector<int>_new; //定義新容器 int c1[3]={7,8,9}; for(int i=0;i<3;i++) //新容器存放新數據 _new.push_back(c1[i]); for(vector<int>::iterator it=_new.begin();it<_new.end();it++) //在一個容器中添加其他容器的數據 定義一個iterator類型訪問容器內的元素 a.push_back(*it); for(int j=0;j<a.size();j++) cout<<a[j]<<" "; system("pause"); return 0; }