Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memadam Elemen Vektor mengikut Nilai dalam C?

Bagaimana untuk Memadam Elemen Vektor mengikut Nilai dalam C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-08 13:02:02124semak imbas

How to Erase Vector Elements by Value in C  ?

Memadamkan Elemen Vektor Mengikut Nilai dalam C

Apabila bekerja dengan vektor dalam C , perkara biasa perlu mengalih keluar elemen tertentu. Biasanya, ini dilakukan dengan menentukan kedudukan elemen yang akan dipadamkan menggunakan erase(myVector.begin() 4). Walau bagaimanapun, mungkin terdapat keadaan di mana anda ingin memadamkan elemen berdasarkan nilainya dan bukannya kedudukannya.

Untuk mencapai ini, C menyediakan simpulan bahasa padam-buang, yang menggabungkan std::remove() dan std::erase() fungsi. Berikut ialah contoh cara untuk melaksanakannya:

#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;
}

Fungsi std::remove() mengambil tiga hujah: iterator permulaan dan penamat bagi vektor dan nilai yang akan dialih keluar. Ia mengubah suai vektor dengan mengalihkan semua elemen dengan nilai yang ditentukan ke penghujung vektor, dengan berkesan mengeluarkannya daripada kedudukan asalnya.

Fungsi std::erase() kemudian memadamkan julat elemen daripada vektor . Dalam contoh ini, ia memadamkan semua elemen daripada kedudukan yang dikembalikan oleh std::remove() ke penghujung vektor.

Dengan menggunakan simpulan bahasa padam-buang, anda boleh memadamkan elemen dengan mudah berdasarkan nilainya, meningkatkan kecekapan dan kebolehselenggaraan kod anda.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Elemen Vektor mengikut Nilai dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn