目录
9.25
容器(除array外(array 创建时都是固定大小的,不能改变(不能使用下面的方法))有许多的删除元素的方法:
如:pop_back() 、pop_front() 、erase() 、clear()
相等时:不发生删除操作(之间的范围也是空的)
elem2为尾后迭代器时:删除 elem1 到最后一个元素
都为尾后迭代器时:不发生删除操作(之间的范围也是空的)
9.26
#include<iostream>
#include<list>
#include<vector>
using namespace std;
int main()
{
vector<int> ve;
list<int> li;
int ia[] = { 0,1,1,2,3,5,6,13,21,55,89 };
for (int i = 0; i < sizeof(ia) / sizeof(int); ++i)
{
ve.push_back(ia[i]);
li.push_back(ia[i]);
}
vector<int>::iterator it = ve.begin();
list<int>::iterator iter = li.begin();
for (it; it != ve.end();)
{
if (*it % 2 == 0)
{
it = ve.erase(it);
}
else
{
++it;
}
}
while (iter!=li.end())
{
if (*iter % 2)
{
iter = li.erase(iter);
}
else
{
++iter;
}
}
for (auto p = ve.begin(); p != ve.end(); ++p)
{
cout << *p << " ";
}
cout << endl;
auto q = li.begin();
while (q!=li.end())
{
cout << *q << " ";
++q;
}
return 0;
}