c++ list 遍歷刪除節點
阿新 • • 發佈:2019-01-31
c++ list 遍歷中刪除節點
#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"); }