#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <vector>
#include <iostream>
using namespace std;
/*
iterator erase (const_iterator position);
iterator erase (const_iterator first, const_iterator last);
*/
void print(const vector<int> &v)
{
vector<int>::const_iterator iter = v.begin();
for(; iter != v.end(); ++iter)
cout << *iter << " ";
cout << endl;
}
void test_case()
{
vector<int> v;
for(int i = 1; i <= 10; i++)
v.push_back(i);
print(v);
// erase 3 and 5
vector<int>::iterator iter;
for(iter = v.begin(); iter != v.end();)
{
if(*iter == 3 || *iter == 5)
{
iter = v.erase(iter);
}
else
{
iter++;
}
}
print(v);
// erase 10
for(iter = v.begin(); iter != v.end();)
{
if(*iter == 10)
{
iter = v.erase(iter);
}
else
{
iter++;
}
}
print(v);
// erase from [first,last)
iter = v.erase(v.begin(), v.begin() + 2);
print(v);
cout << *iter << endl;
}
int main()
{
test_case();
return 0;
}
/*
1 2 3 4 5 6 7 8 9 10
1 2 4 6 7 8 9 10
1 2 4 6 7 8 9
4 6 7 8 9
4
*/
|