C++ STL中vector应用

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;
}
posted @ 2013-05-23 14:19  haroel  阅读(149)  评论(0编辑  收藏  举报