Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memadamkan Elemen dari C std::vektor mengikut Indeks?

Bagaimana untuk Memadamkan Elemen dari C std::vektor mengikut Indeks?

Patricia Arquette
Patricia Arquetteasal
2024-12-14 04:22:09897semak imbas

How to Erase Elements from a C   std::vector by Index?

Memadamkan Elemen daripada std::vector by Index

Dalam C , std::vector ialah bekas yang cekap menyimpan elemen dalam ingatan bersebelahan lokasi. Untuk mengalih keluar elemen daripada vektor, fungsi pemadaman digunakan.

Masalah: Diberi std::vector, memadamkan elemen pada titik tertentu indeks.

Contoh:

std::vector<int> vec;

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

vec.erase(???); // How to delete the second element?

Penyelesaian:

Untuk memadamkan satu elemen mengikut indeks, gunakan std: :sebelah menambah lelaran vektor dengan yang dikehendaki indeks:

vec.erase(std::next(vec.begin(), elementIndex));

Untuk memadamkan julat elemen, nyatakan iterator permulaan dan akhir:

int startIndex = 1;
int endIndex = 3;

vec.erase(std::next(vec.begin(), startIndex), std::next(vec.begin(), endIndex));

Dalam contoh yang disediakan, kod berikut akan memadamkan elemen kedua (vec[ 1]):

vec.erase(std::next(vec.begin()));

Untuk memadamkan elemen kedua dan ketiga, gunakan:

vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));

Atas ialah kandungan terperinci Bagaimana untuk Memadamkan Elemen 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