首頁  >  文章  >  後端開發  >  如何在C中根據值刪除向量元素?

如何在C中根據值刪除向量元素?

DDD
DDD原創
2024-11-08 08:21:02961瀏覽

How to Erase Vector Elements Based on Value in C  ?

根據C 中的值擦除向量元素

嘗試根據向量元素的值而不是位置來擦除向量元素時會出現此問題。考慮一個具有以下值的向量:

5 9 2 8 0 7

通常,我們可以使用以下程式碼刪除包含值「8」的第四個元素:

myVector.erase(myVector.begin() + 4);

但是,是否還有更多直接透過值刪除元素的方法?

std::remove() 來救援

std::remove() 函數在這裡發揮作用。它從範圍中刪除與特定值相符的元素。與erase()結合,我們可以使用擦除刪除慣用法來實現我們的目標:

#include <algorithm>

...

myVector.erase(std::remove(myVector.begin(), myVector.end(), 8), myVector.end());

這個組合迭代向量,刪除所有「8」的實例,然後擦除修改的範圍。產生的向量現在包含:

5 9 2 0 7

以上是如何在C中根據值刪除向量元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn