vector中刪除指定元素
//刪除指定元素
vectorv = ;
printf("v size:%d\n", v.size());
//單獨使用remove只代表移除元素,vector總大小還是原來大小,5、6為要刪除的元素
//remove(v.begin(), v.end(), 5);
//remove(v.begin(), v.end(), 6);
//erase配合remove使用是真真的刪除元素,vector總大小會變少,5、6為要刪除的元素
v.erase(remove(v.begin(), v.end(), 5), v.end());
v.erase(remove(v.begin(), v.end(), 6),v.end());
printf("v size:%d\n", v.size());
for (vector::iterator it = v.begin(); it != v.end(); it++)
輸出:
v size:13
v size:8
1 2 3 4 7 8 9 10
說明指定的5,6元素真正刪除了 C vector刪除元素
c vector中實際刪除元素使用的是容器vector中std vector erase 方法,而std remove 並不刪除元素,因為容器的size 沒有變化,只是元素的替換。std vector erase 函式原型 iterator erase iterator position 刪除指定元...
清除 C vector 中的冗餘元素
個人推薦的方法是使用sort 和unique 原因是簡單 note 下面的方案和測試引用自stackoverflow,作者artem klevtsov和alexk7 方案1 使用sort 和unique unique 實際上是檢測相鄰的2個元素,如果相等則把其中乙個移動到尾部,最後返回的是最後乙個非...
C vector容器刪除操作
1.vector pop back 刪除vector的最後乙個元素,vector的大小減一,刪了的元素被銷毀。2.vector erase iterator erase iterator position iterator erase iterator first,iterator last 這個刪...