Fungsi Hapus Vektor () dalam C ++

Vector Erase Function C



Array digunakan untuk menyimpan banyak data, dan jumlah elemen array tidak dapat diubah pada waktu berjalan. Masalah ini dapat diselesaikan dengan menggunakan vektor yang berfungsi seperti array dinamik. Fungsi yang berbeza wujud dalam kelas vektor untuk menambah dan mengeluarkan elemen dari vektor. Fungsi erase () digunakan untuk membuang satu atau lebih elemen dari vektor pada masa run yang mengurangkan ukuran vektor. Penggunaan fungsi ini telah dijelaskan dalam tutorial ini.

Sintaks:

Dua jenis sintaks fungsi ini telah diberikan di bawah.







iterator memadam(kedudukan lelaran);

Fungsi erase () di atas digunakan untuk membuang satu elemen dari vektor, dan ia mengembalikan iterator, dan ia menunjukkan elemen yang diikuti oleh elemen terakhir yang terhapus.



iterator memadam(iterator start_position, iterator berakhir_posisi);

Fungsi erase () di atas digunakan untuk membuang beberapa elemen dari vektor berdasarkan kedudukan yang disebutkan dalam argumen pertama dan kedua fungsi ini.



Pra-syarat:

Sebelum memeriksa contoh tutorial ini, anda harus memeriksa penyusun g ++ yang terpasang atau tidak dalam sistem. Sekiranya anda menggunakan Kod Visual Studio, pasang sambungan yang diperlukan untuk menyusun kod sumber C ++ untuk membuat kod yang dapat dilaksanakan. Di sini, aplikasi Visual Studio Code telah digunakan untuk menyusun dan melaksanakan kod C ++. Penggunaan fungsi erase () yang berbeza untuk memasukkan elemen ke dalam vektor telah ditunjukkan di bawah.





Contoh-1: Keluarkan elemen elemen pertama

Buat fail C ++ dengan kod berikut untuk membuang elemen dari awal vektor. Vektor nilai rentetan telah digunakan dalam kod. Nilai vektor telah dicetak sebelum dan sesudah menghapus elemen pertama dari vektor menggunakan fungsi erase () dengan satu parameter.

// Sertakan perpustakaan yang diperlukan

#sertakan

#sertakan

menggunakan ruang namaJam;

// Paparkan nilai vektor

bataldisplay_vector(vektor<tali>buah-buahan)

{

// Permulaan kaunter

intkaunter= 1;

// Ulang dan cetak elemen vektor menggunakan gelung

untuk (keretadia=buah-buahan.bermula();dia!=buah-buahan.akhir();dia++)

{

// Periksa elemen tersebut adalah elemen terakhir atau tidak

sekiranya(kaunter!=buah-buahan.ukuran())

kos << *dia<< ',';

yang lain

kos << *dia;

// Naikkan kaunter dengan 1

kaunter++;

}

kos <<endl;

}

intutama(batal) {

// Menyatakan vektor data rentetan

vektor<tali>buah-buahan= { 'Oren','Pisang','Mangga','Buah Jack','Lichi' };

// Cetak nilai vektor yang ada

kos << 'Nilai vektor sebelum membuang:' <<endl;

display_vector(buah-buahan);

// Keluarkan elemen pertama dari vektor

buah-buahan.padam(buah-buahan.bermula());

// Cetak nilai vektor yang ada setelah dikeluarkan

kos << ' nNilai vektor setelah dikeluarkan: ' <<endl;

display_vector(buah-buahan);

kembali 0;

}

Pengeluaran:

Output berikut akan muncul setelah melaksanakan kod di atas.



Contoh-2: Keluarkan pelbagai elemen

Buat fail C ++ dengan kod berikut untuk membuang pelbagai elemen dari vektor menggunakan fungsi erase (). Vektor nilai integer telah digunakan dalam kod. Dua iterator telah digunakan di sini untuk menetapkan rangkaian elemen yang dikeluarkan dari vektor. Fungsi erase () telah digunakan dengan dua parameter untuk mengeluarkan beberapa elemen dari vektor.

// Sertakan perpustakaan yang diperlukan

#sertakan

#sertakan

menggunakan ruang namaJam;

// Paparkan vektor

bataldisplay_vector(vektor<int>nombor)

{

// Cetak nilai vektor menggunakan gelung

untuk(keretadia=nombor.bermula();dia!=nombor.akhir() ;dia++)

kos << *dia<< '';

// Tambahkan baris baru

kos << ' n';

}

intutama() {

// Menyatakan vektor data integer

vektor<int>intArray{ 678,435,960,231,800,387,634,267,409,294};

// Cetak nilai vektor yang ada

kos << 'Nilai vektor sebelum membuang:' <<endl;

display_vector(intArray);

// Nyatakan dua iterator untuk membuang julat elemen dari vektor

vektor<int> :: iteratorstartEle, endEle;

// Tetapkan iterator ke kedudukan pertama

permulaanEle=intArray.bermula();

// Tingkatkan iterator permulaan sebanyak 2

maju(startEle,2);

// Tetapkan iterator ke kedudukan terakhir

endEle=intArray.akhir();

// Kurangkan iterator akhir sebanyak 3

maju(endEle,-3);

// Keluarkan julat elemen

intArray.padam(startEle, endEle);

// Cetak nilai vektor yang ada setelah dikeluarkan

kos << ' nNilai vektor setelah dikeluarkan: ' <<endl;

display_vector(intArray);

kembali 0;

}

Pengeluaran:

Output berikut akan muncul setelah melaksanakan kod di atas. Mengikut julat iterator, elemen dari kedudukan ke-3 hingga ke-7 vektor telah dikeluarkan.

Contoh-3: Keluarkan elemen tertentu

Buat fail C ++ dengan kod berikut untuk membuang elemen vektor tertentu menggunakan fungsi erase (). Vektor 7 elemen integer telah dinyatakan dalam kod. Seterusnya, gelung ‘untuk’ telah digunakan untuk mengulang elemen vektor dan mengeluarkan unsur-unsur tersebut dari vektor yang tidak dapat dibahagikan dengan 5.

// Sertakan perpustakaan yang diperlukan

#sertakan

#sertakan

menggunakan ruang namaJam;

intutama()

{

// Menyatakan vektor data integer

vektor<int>nombor= { 78,Empat lima,67,25,98,75,52 };

kos << Nilai vektor sebelum membuang: n';

untuk (int penyambung &i:nombor) {

kos <<i<< '';

}

kos <<endl;

// Keluarkan nombor dari vektor yang tidak boleh dibahagi dengan 5

untuk (keretadia=nombor.bermula();dia!=nombor.akhir();dia++)

{

// Periksa nombor dibahagi 5 atau tidak

sekiranya (*dia% 5 != 0)

{

// Keluarkan elemen berdasarkan iterator

nombor.padam(dia-);

}

}

kos << Nilai vektor setelah dikeluarkan: n';

untuk (int penyambung &i:nombor) {

kos <<i<< '';


}


kos <<endl;


kembali 0;

}

Pengeluaran:

Output berikut akan muncul setelah melaksanakan kod di atas. Output menunjukkan bahawa vektor mengandungi unsur-unsur yang dapat dibahagi dengan 5 sahaja, dan unsur-unsur lain telah dikeluarkan.

Kesimpulan:

Penggunaan fungsi erase () yang berbeza telah ditunjukkan dalam tutorial ini untuk membuang elemen vektor. C ++ mempunyai banyak fungsi lain untuk menghilangkan elemen dari vektor, dan fungsi tersebut dapat menghapus elemen tunggal pada satu masa. Tetapi elemen tunggal dan pelbagai dari mana-mana kedudukan vektor dapat dikeluarkan dengan menggunakan fungsi hapus vektor ().