c++ 列表删除元素(erase)

时间:2023-03-09 02:37:22
c++ 列表删除元素(erase)
#include <list>
#include <iostream>
#include <iterator>
using namespace std;
int main( )
{
list<int> c{, , , , , , , , , };
for (auto &i : c) {
cout << i << " ";
}
cout << '\n';
c.erase(c.begin());//删除第一个元素
for (auto &i : c) {
cout << i << " ";
}
cout << '\n';
list<int>::iterator range_begin = c.begin();
list<int>::iterator range_end = c.begin();
advance(range_begin,);
advance(range_end,);
c.erase(range_begin, range_end);
for (auto &i : c) {
cout << i << " ";
}
cout << '\n';
// Erase all even numbers (C++11 and later)
for (auto it = c.begin(); it != c.end(); ) {
if (*it % == ) {
it = c.erase(it);//删除偶数
} else {
++it;
}
}
for (auto &i : c) {
cout << i << " ";
}
cout << '\n';
}