Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengeluarkan Elemen dengan Cekap mengikut Nilai daripada Vektor STL?

Bagaimana untuk Mengeluarkan Elemen dengan Cekap mengikut Nilai daripada Vektor STL?

Patricia Arquette
Patricia Arquetteasal
2024-11-18 00:11:02747semak imbas

How to Efficiently Remove Elements by Value from an STL Vector?

Penyingkiran Nilai Cekap daripada Vektor STL

Walaupun fungsi meluas yang disediakan oleh kelas vektor STL, ia tidak mempunyai fungsi eksplisit untuk menghapuskan elemen berasaskan pada nilai mereka. Operasi ini, walau bagaimanapun, biasa ditemui.

Penyelesaian: Menggunakan std::remove

STL menawarkan fungsi std::remove, yang tidak mengalih keluar elemen secara eksplisit tetapi memindahkan elemen untuk dikekalkan ke permulaan bekas. Ia mengembalikan iterator yang menunjuk melepasi elemen yang dikekalkan ini:

auto new_end = std::remove(vec.begin(), vec.end(), int_to_remove);

Untuk melengkapkan pengalihan keluar, kita boleh menggunakan vec.erase untuk menghapuskan lebihan elemen yang kini terletak di hujung:

vec.erase(new_end, vec.end());

Pendekatan ini secara berkesan membersihkan elemen dengan nilai sasaran sambil mengekalkan struktur bersebelahan vektor.

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Elemen dengan Cekap mengikut Nilai daripada Vektor STL?. 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