/*********************/
/* demo vector */
/*********************/
#include<vector>
#include<iostream>
using namespace std;
//遍历打印
void printFun(vector<int> &obj)
{
for (vector<int>::iterator it = obj.begin(); it != obj.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
int main()
{
//构造的几种方法
vector<int> v1, v2(10, 1);
for (size_t i = 0; i < 10; i++)
{
v1.push_back(i);
}
vector<int> v3(v1.begin(), v1.begin() + 2);
cout << "v1:\t";
printFun(v1);
cout << "v2:\t";
printFun(v2);
cout << "v3:\t";
printFun(v3);
//通过头尾操作 front back
v1.front() = 10;
v1.back() = 12;
cout << "v1:\t";
printFun(v1);
//区间删除
v1.erase(v1.begin(), v1.begin() + 3);
cout << "v1:\t";
printFun(v1);
//指定元素删除
for (vector<int>::iterator it = v1.begin(); it != v1.end();)
{
if (*it == 4)
{
it = v1.erase(it);//删除迭代器会把it也删除,但erase函数会返回下一个迭代器位置
}
else
{
it++;
}
}
cout << "v1:\t";
printFun(v1);
system("pause");
return 0;
}