使用C++操作vector,经常会出错。查了网上,发现这个方法比较实用。自己整理了一下。供大家参考。
#include <iostream>
#include <stdlib.h>
#include <vector>
using namespace std;
int main()
{
int mLong=20;
//产生20个元素
std::vector<double> mVec;
for(int i=0;i<mLong;i++)
{
mVec.push_back((double)i);
}
//打印10个数据
for(int i=0;i<mLong;i++)
{
cout<<"mVec"<<"["<<i<<"]="<<mVec[i]<<endl;
}
cout<<"delete front 5 data----------------------"<<endl;
//删除前5个元素
std::vector<double>::iterator iter;
for(iter=mVec.begin();mVec.size()>15;)
{
iter=mVec.erase(iter);
}
//打印
for(int i=0;i<mVec.size();i++)
{
cout<<"mVec"<<"["<<i<<"]="<<mVec[i]<<endl;
}
cout<<"delete bak 5 data----------------------"<<endl;
//删除后面的元素,直到保留10个元素
while(mVec.size()>10)
{
mVec.pop_back();
}
//打印
for(int i=0;i<mVec.size();i++)
{
cout<<"mVec"<<"["<<i<<"]="<<mVec[i]<<endl;
}
return 0;
}