- 遍历并且删除节点
C++
#include<iostream>
#include<list>
using namespace std;
int main() {
int a[12] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 10};
list<int> li(a, a + 12);
//遍历删除值为5的节点
for (list<int>::iterator it = li.begin(); it != li.end()) {
if (*it == 5){
li.erase(it++); // 删除节点,并到下一个节点
} else {
++it;
}
}
for (list<int>::iterator it = li.begin(); it != li.end(); ++it) {
cout << *it << " ";
}
system("pause");
}