在一般情况下,对数组进行相应的操作可能比较复杂,但是将数组放在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; }