Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Mengalih Keluar Elemen dengan Nilai Tertentu daripada Vektor STL?

Bagaimanakah Saya Mengalih Keluar Elemen dengan Nilai Tertentu daripada Vektor STL?

DDD
Lepaskan: 2024-11-19 02:59:03
asal
234 orang telah melayarinya

How Do I Remove Elements with a Specific Value from an STL Vector?

Mengalih keluar Elemen dengan Nilai Khusus daripada Vektor STL

Dalam konteks operasi vektor STL, ia mungkin mengejutkan bahawa terdapat tiada kaedah eksplisit untuk mengalih keluar elemen berdasarkan nilainya. Operasi biasa ini boleh dicapai menggunakan pendekatan yang berbeza.

Menggunakan std::remove

Fungsi std::remove berfungsi sebagai kaedah utiliti untuk manipulasi vektor. Ia secara berhati-hati menyusun semula elemen vektor, menggerakkan elemen yang tidak sepatutnya dialih keluar ke hadapan. Nilai pulangannya ialah iterator yang menunjuk kepada elemen berikutan yang terakhir yang belum dialih keluar. Iterator ini kemudiannya boleh digunakan sebagai hujah untuk std::erase untuk menghapuskan unsur-unsur berlebihan secara kekal yang kini terletak di penghujung vektor:

std::vector<int> vec;
// Initialize vec with values
int value = n;
vec.erase(std::remove(vec.begin(), vec.end(), value), vec.end());
Salin selepas log masuk

Pendekatan ini mengenal pasti dan mengalih keluar elemen yang ditentukan daripada vektor dengan cekap. sambil mengekalkan susunan logiknya.

Atas ialah kandungan terperinci Bagaimanakah Saya Mengalih Keluar Elemen dengan Nilai Tertentu daripada Vektor STL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan