版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wx1458451310/article/details/88066794
一维数组定义方法:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> arr(10); //arr的长度为10
cout<<arr.size()<<endl; //10
vector<int> a(6,4); //a的长度为6,每个元素都为4
cout<<a.size()<<" "<<a[5]<<endl; //6 4
int n;
cin>>n;
vector<int> b(n);
cout<<b.size()<<endl; //n
//插入元素 insert()第一个参数为迭代器,作用为在迭代器前面插入新元素;
vector<int>::iterator v = a.begin();
a.insert(v,6); //6 4 4 4 4 4 4
cout<<a.size()<<endl; // 5
for (v = a.begin(); v != a.end(); v++)
{
cout<<(*v)<<endl; //6 4 4 4 4 4 4
}
system("pause");
return 0;
}
迭代器是一种检查容器内元素并遍历元素的数据类型。
迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围。
容器和string有迭代器类型同时拥有返回迭代器的成员。如:容器有成员begin和end,其中begin成员复制返回指向第一个元素的迭代器,而end成员返回指向容器尾元素的下一个位置的迭代器,也就是说end指示的是一个不存在的元素,所以end返回的是尾后迭代器。
二维数组定义:
int main()
{
/*二维数组 5行3列*/
int i,j;
vector< vector<int> > array(5);
for (i = 0; i < array.size(); i++)
array[i].resize(3); //设置每行的个数大小
for(i = 0; i < array.size(); i++)
for (j = 0; j < array[0].size();j++)
array[i][j] = 6;
for(i = 0; i < array.size(); i++)
{
for (j = 0; j < array[0].size();j++)
cout<<array[i][j]<<" ";
cout<<endl;
}
system("pause");
return 0;
}