ホームページ > バックエンド開発 > C++ > C で値によってベクトル要素を消去するにはどうすればよいですか?

C で値によってベクトル要素を消去するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-08 13:02:02
オリジナル
139 人が閲覧しました

How to Erase Vector Elements by Value in C  ?

C での値によるベクトル要素の消去

C でベクトルを操作する場合、特定の要素を削除する必要があるのが一般的です。通常、これは、erase(myVector.begin() 4) を使用して消去する要素の位置を指定することによって行われます。ただし、要素の位置ではなく値に基づいて要素を消去したい場合があります。

これを実現するために、C では std::remove() と std::remove() を組み合わせた Erase-remove イディオムが提供されています。 std::erase() 関数。これを実装する方法の例を次に示します。

#include <algorithm>

int main() {
    vector<int> myVector = {5, 9, 2, 8, 0, 7};

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

    return 0;
}
ログイン後にコピー

std::remove() 関数は、ベクトルの開始イテレータと終了イテレータ、および削除する値の 3 つの引数を受け取ります。指定された値を持つすべての要素をベクターの末尾に移動し、元の位置から効果的に削除することでベクターを変更します。

その後、std::erase() 関数はベクターから要素の範囲を消去します。 。この例では、std::remove() によって返された位置からベクターの末尾までのすべての要素を消去します。

erase-remove イディオムを利用すると、値に基づいて要素を簡単に消去できます。コードの効率と保守性が向上します。

以上がC で値によってベクトル要素を消去するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート