C++ STL中vector应用
#include "iostream"
#include "vector"
using namespace std;
//输出vector中所有类容 void display(vector<int> &vc)
{
for (int i=0;i<vc.size();i++)
{
cout<<vc[i]<<" "; //cout<<vc.at(i)<<" "; 也可以,二者区别在于 vc.at(i)会检查数组下标是否越界,而vc[i]则不会
}
cout<<endl<<endl;
}
int main(void)
{
const int N=10;
vector<int> vc; //向量声明
vector<int>::iterator p; //迭代器声明
for(int i=0;i<N;i++)
{
vc.push_back(i); //从向量的末尾插入元素
}
cout<<"开始时: ";
display(vc);
int first=vc.front(); //返回第一个元素
cout<<"第一个元素为: "<<first<<endl<<endl;
int last=vc.back(); //返回最后一个元素
cout<<"最后一个元素为: "<<last<<endl<<endl;
cout<<"执行pop_back()后"<<endl;
vc.pop_back(); //删除最后一个元素
display(vc);
int pos=5;
p=vc.begin(); //将迭代器指向vector首个元素
//删除第pos个元素,从0开始数
cout<<"执行erase()后"<<endl;
vc.erase(p+pos); //删除指定的元素
display(vc);
cout<<"执行insert()后"<<endl;
vc.insert(p+pos,5); //在pos的位置插入5,从0开始数
display(vc);
cout<<"执行clear()后"<<endl;
vc.clear(); //情况所有元素
if (0==vc.size())
cout<<"向量中无元素"<<endl;
else
display(vc);
return 0;
}
|