首頁 > 後端開發 > C++ > 如何按值從 C 向量中刪除元素?

如何按值從 C 向量中刪除元素?

DDD
發布: 2024-11-14 22:21:02
原創
779 人瀏覽過

How to Remove Elements from a C   Vector by Value?

在 C 中以值刪除向量元素

在 C 中,向量的擦除()方法允許我們按位置刪除元素。但是,如果我們想根據元素的值而不是位置來刪除元素怎麼辦?

考慮以下向量:

vector<int> myVector = {5, 9, 2, 8, 0, 7};
登入後複製

使用以下指令刪除值為「8」的元素傳統的erase()方法,我們會這樣做:

myVector.erase(myVector.begin() + 4);
登入後複製

但是,要以值刪除元素,我們可以使用std::remove()函數:

#include <algorithm>
...

myVector.erase(std::remove(myVector.begin(), myVector.end(), 8), myVector.end());
登入後複製

它的工作原理如下:

  • std::remove()接受三個參數:向量的開始和結束迭代器以及要刪除的值。
  • 它傳回一個指向的迭代器到最後刪除的元素之後的元素。
  • 然後使用erase()方法將std::remove()傳回的迭代器中的元素刪除到向量結尾。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板