vector是C++中容器的一种,与普通的数组相比,它可以动态的增长,而且还有封装了用于顺序表的操作的方法。
使用vector定义了容器之后,如果定义了容器的大小,则可以在大小范围之内直接使用数组的方式进行访问。
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> a(10);
for(int i=0;i<10;i++)
{
a[i]=i;
}
for(int i=0;i<a.size();i++)
{
cout<<a[i]<<" ";
}
return 0;
}
如果没有定义容器的大小,或者有可能超出定义了的容器的大小的时候,可以使用push_back()成员函数将数组直接插入容器的最后面。
在没有定义容器大小并且没有向容器中插入任何任何值得时候,是不可以使用数组的方式进行访问的。
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> a;
int n;
cin>>n;
//装入数据
for(int i=0;i<n;i++)
{
a.push_back(i);
}
//使用数组格式输出
for(int i=0;i<a.size();i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
//使用迭代器进行访问
vector<int>::iterator p;
for(p = a.begin();p<a.end();p++)
{
cout<<*p<<" ";
}
cout<<endl;
//对vector数组清空
if(!a.empty())
{
cout<<"a is no empty"<<endl;
}
a.clear();
if(a.empty())
{
cout<<"a is empty now"<<endl;
}
}