①只刪除一個元素:
vector<int> num; for(vector<int>::iterator iter=num.begin();iter!=num.end();iter++){ //從vector中刪除指定的某一個元素 if(*iter==k){ num.erase(iter); break; } }
②刪除指定的多個重復元素:erase函數的返回的是指向被刪除元素的下一個元素的迭代器,所以執行erase()后要把迭代器減1,指向前面一個
for (vector<int>::iterator iter = num.begin(); iter != num.end();iter++) { if (*iter == k){ iter = num.erase(iter); iter--; //erase函數的返回指向當前被刪除元素的下一個元素的迭代器 } }