C vector中刪除元素

2021-10-24 20:24:05 字數 634 閱讀 5944

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 這個刪...