vector使用
vector是一种可以自由改变大小的容器,底层是通过数组实现的一类常用容器。
**容器使用:**可以像数组一样利用下标循环输出
vector<int> a;
//普通循环遍历
for(int i=0;i<5;i++)
{
a.push_back(i);
}cout<<"普通输出:"<<endl;
for(int i=0;i<5;i++)
{
cout<<a[i];
}cout<<endl;
迭代器遍历:
vector<int>::iterator it=a.begin();
cout<<"迭代器begin遍历:"<<endl;
for(;it!=a.end();it++)
{
cout<<*it;
}cout<<endl;
vector<int>::reverse_iterator iq=a.rend()-1;//记得是-1
cout<<"用反向迭代器正序遍历:"<<endl;
for(;iq!=a.rbegin()-1;iq--)//iq--
{
cout<<*iq;
}cout<<endl;
vector<int>::reverse_iterator niq=a.rbegin();//没有-1
cout<<"用反向迭代器逆序遍历:"<<endl;
for(;niq!=a.rend();niq++)//iq++
{
cout<<*niq;
}cout<<endl;
图的来源:https://blog.csdn.net/love_fdu_llp/article/details/52602915
完整代码:
int main()
{
vector<int> a;
//普通循环遍历
for(int i=0;i<5;i++)
{
a.push_back(i);
}cout<<"普通输出:"<<endl;
for(int i=0;i<5;i++)
{
cout<<a[i];
}cout<<endl;
//迭代器遍历输出
//a.begin()返回迭代器,指向容器中的第一个元素
//a.end()返回迭代器,指向容器中最后一个元素的下一个位置
vector<int>::iterator it=a.begin();
cout<<"迭代器begin遍历:"<<endl;
for(;it!=a.end();it++)
{
cout<<*it;
}cout<<endl;
//反向迭代器遍历
//a.rend()返回逆序迭代器,指向容器中最后一个元素
//a.rbegin()返回逆序迭代器,指向容器中第一个元素前面的位置
vector<int>::reverse_iterator iq=a.rend()-1;//记得是-1
cout<<"用反向迭代器正序遍历:"<<endl;
for(;iq!=a.rbegin()-1;iq--)//iq--
{
cout<<*iq;
}cout<<endl;
vector<int>::reverse_iterator niq=a.rbegin();//没有-1
cout<<"用反向迭代器逆序遍历:"<<endl;
for(;niq!=a.rend();niq++)//iq++
{
cout<<*niq;
}cout<<endl;
//容器中的元素的访问
cout<<"首元素和尾元素:"<<endl;
cout<<a.front()<<" "<<a.back()<<endl;
cout<<"访问指定元素:"<<endl;
cout<<"a[2]:"<<a[2]<<endl<<"a.at(2):"<<a.at(2)<<endl;
//容器的大小
cout<<"容器大小:"<<endl;
cout<<"a.size:"<<a.size()<<endl;
cout<<"a.max_size:"<<a.max_size()<<endl;
cout<<"a.capacity:"<<a.capacity()<<endl;//目前的最大容量
a.resize(10);//改变容器大小
cout<<"latter:"<<a.size()<<endl;
}
运行结果: