Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Memadamkan Elemen dengan Cekap dari C std::vektor mengikut Indeks?

Bagaimanakah Saya Memadamkan Elemen dengan Cekap dari C std::vektor mengikut Indeks?

Mary-Kate Olsen
Lepaskan: 2024-12-17 01:58:25
asal
143 orang telah melayarinya

How Do I Efficiently Delete Elements from a C   std::vector by Index?

Memadamkan Elemen daripada std::vector by Index

Satu tugas biasa dalam pengaturcaraan ialah memadamkan elemen daripada bekas, seperti vektor. std::vector ialah tatasusunan dinamik dalam C yang membolehkan pemasukan dan pemadaman elemen yang cekap. Memadamkan elemen mengikut indeks boleh dicapai dalam beberapa cara.

Memadamkan Elemen Tunggal

Untuk memadamkan satu elemen daripada vektor, gunakan fungsi erase(). Fungsi ini membawa iterator ke elemen yang akan dipadamkan. Contohnya:

std::vector<int> vec;

vec.push_back(6);
vec.push_back(-17);
vec.push_back(12);

// Deletes the second element (vec[1])
vec.erase(std::next(vec.begin()));
Salin selepas log masuk

Fungsi std::next() digunakan untuk memajukan iterator ke indeks yang diingini.

Memadam Berbilang Elemen

Untuk memadamkan berbilang elemen serentak, gunakan fungsi erase() dengan julat lelaran. Julat ditentukan oleh dua iterator: satu menunjuk ke elemen pertama yang akan dialih keluar dan satu lagi menunjuk ke elemen hanya melepasi elemen terakhir yang akan dialih keluar. Contohnya:

// Deletes the second through third elements (vec[1], vec[2])
vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Memadamkan Elemen dengan Cekap dari C std::vektor mengikut Indeks?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan