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
Mary-Kate Olsenasal
2024-12-17 01:58:25141semak imbas

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()));

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));

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!

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