Fungsi Hapus Vektor() di C++

Fungsi Hapus Vektor Di C



Array digunakan untuk menyimpan banyak data, dan jumlah elemen array tidak dapat diubah pada saat run time. Masalah ini dapat diselesaikan dengan menggunakan vektor yang berfungsi seperti array dinamis. Fungsi berbeda ada di kelas vektor untuk menambah dan menghapus elemen dari vektor. Fungsi erase() digunakan untuk menghapus satu atau lebih elemen dari vektor pada saat run time yang memperkecil ukuran vektor. Kegunaan fungsi ini telah dijelaskan dalam tutorial ini.

Sintaksis:

Dua jenis sintaks fungsi ini telah diberikan di bawah ini.







penghapusan iterator ( posisi iterator ) ;

Fungsi erase() di atas digunakan untuk menghapus satu elemen dari vektor, dan mengembalikan sebuah iterator, dan menunjuk ke elemen yang diikuti oleh elemen terakhir yang terhapus.



penghapusan iterator ( posisi_awal iterator, posisi_akhir iterator ) ;

Fungsi wipe() di atas digunakan untuk menghapus beberapa elemen dari vektor berdasarkan posisi yang disebutkan dalam argumen pertama dan kedua fungsi ini.



Prasyarat:

Sebelum memeriksa contoh tutorial ini, Anda harus memeriksa apakah compiler g++ sudah terinstal atau tidak di sistem. Jika Anda menggunakan Visual Studio Code, instal ekstensi yang diperlukan untuk mengkompilasi kode sumber C++ guna membuat kode yang dapat dieksekusi. Di sini, aplikasi Visual Studio Code telah digunakan untuk mengkompilasi dan mengeksekusi kode C++. Berbagai kegunaan fungsi erase() untuk menyisipkan elemen ke dalam vektor ditunjukkan di bawah ini.





Contoh-1: Hapus elemen elemen pertama

Buat file C++ dengan kode berikut untuk menghapus elemen dari awal vektor. Vektor nilai string telah digunakan dalam kode. Nilai vektor telah dicetak sebelum dan sesudah penghapusan elemen pertama dari vektor menggunakan fungsi erase() dengan satu parameter.

//Sertakan perpustakaan yang diperlukan

#termasuk

#termasuk

menggunakan ruang nama std ;

//Menampilkan nilai vektor

ruang kosong tampilan_vektor ( vektor < rangkaian > buah-buahan )

{

//Inisialisasi penghitung

ke dalam menangkal = 1 ;

//Iterasi dan cetak elemen vektor menggunakan loop

untuk ( mobil Dia = buah-buahan. mulai ( ) ; Dia ! = buah-buahan. akhir ( ) ; Dia ++ )

{

//Periksa elemen apakah elemen terakhir atau bukan

jika ( menangkal ! = buah-buahan. ukuran ( ) )

cout << * Dia << ', ' ;

kalau tidak

cout << * Dia ;

//Tambahkan penghitung sebanyak 1

menangkal ++ ;

}

cout << akhir ;

}

ke dalam utama ( ruang kosong ) {

//Deklarasikan vektor data string

vektor < rangkaian > buah-buahan = { 'Oranye' , 'Pisang' , 'Buah mangga' , 'Buah Dongkrak' , Leci } ;

//Cetak nilai vektor yang ada

cout << 'Nilai vektor sebelum dihapus:' << akhir ;

tampilan_vektor ( buah-buahan ) ;

//Hapus elemen pertama dari vektor

buah-buahan. menghapus ( buah-buahan. mulai ( ) ) ;

//Cetak nilai vektor yang ada setelah dihapus

cout << ' \N Nilai vektor setelah dihapus: ' << akhir ;

tampilan_vektor ( buah-buahan ) ;

kembali 0 ;

}

Keluaran:

Output berikut akan muncul setelah mengeksekusi kode di atas.



Contoh-2: Hapus beberapa elemen

Buat file C++ dengan kode berikut untuk menghapus beberapa elemen dari vektor menggunakan fungsi Erase(). Vektor nilai integer telah digunakan dalam kode. Dua iterator telah digunakan di sini untuk mengatur rentang elemen yang dihapus dari vektor. Fungsi erase() telah digunakan dengan dua parameter untuk menghapus beberapa elemen dari vektor.

//Sertakan perpustakaan yang diperlukan

#termasuk

#termasuk

menggunakan ruang nama std ;

//Menampilkan vektor

ruang kosong tampilan_vektor ( vektor < ke dalam > angka )

{

//Cetak nilai vektor menggunakan loop

untuk ( mobil Dia = angka. mulai ( ) ; Dia ! = angka. akhir ( ) ; Dia ++ )

cout << * Dia << ' ' ;

//Tambahkan baris baru

cout << ' \N ' ;

}

ke dalam utama ( ) {

//Deklarasikan vektor data integer

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

//Cetak nilai vektor yang ada

cout << 'Nilai vektor sebelum dihapus:' << akhir ;

tampilan_vektor ( intArray ) ;

//Deklarasikan dua iterator untuk menghapus rentang elemen dari vektor

vektor < ke dalam > :: iterator mulaiEle, akhirEle ;

//Setel iterator ke posisi pertama

mulai mereka = intArray. mulai ( ) ;

//Tambahkan iterator awal sebesar 2

maju ( mulai mereka, 2 ) ;

//Setel iterator ke posisi terakhir

akhirEle = intArray. akhir ( ) ;

//Kurangi iterator akhir sebanyak 3

maju ( akhirEle, - 3 ) ;

//Hapus rentang elemen

intArray. menghapus ( mulaiEle, akhirEle ) ;

//Cetak nilai vektor yang ada setelah dihapus

cout << ' \N Nilai vektor setelah dihapus: ' << akhir ;

tampilan_vektor ( intArray ) ;

kembali 0 ;

}

Keluaran:

Output berikut akan muncul setelah mengeksekusi kode di atas. Menurut jangkauan iteratornya, elemen dari posisi ke-3 hingga ke-7 dari vektor telah dihilangkan.

Contoh-3: Hapus elemen tertentu

Buat file C++ dengan kode berikut untuk menghapus elemen tertentu dari vektor menggunakan fungsi Erase(). Sebuah vektor dari 7 elemen bilangan bulat telah dideklarasikan dalam kode. Selanjutnya, loop 'for' digunakan untuk mengulangi elemen vektor dan menghapus elemen dari vektor yang tidak habis dibagi 5.

//Sertakan perpustakaan yang diperlukan

#termasuk

#termasuk

menggunakan ruang nama std ;

ke dalam utama ( )

{

//Deklarasikan vektor data integer

vektor < ke dalam > angka = { 78 , Empat. Lima , 67 , 25 , 98 , 75 , 52 } ;

cout << 'Nilai vektor sebelum dihapus: \N ' ;

untuk ( ke dalam konstanta & Saya : angka ) {

cout << Saya << ' ' ;

}

cout << akhir ;

//Hapus bilangan dari vektor yang tidak habis dibagi 5

untuk ( mobil Dia = angka. mulai ( ) ; Dia ! = angka. akhir ( ) ; Dia ++ )

{

//Periksa apakah bilangan tersebut habis dibagi 5 atau tidak

jika ( * Dia % 5 ! = 0 )

{

//Hapus elemen berdasarkan iterator

angka. menghapus ( Dia -- ) ;

}

}

cout << 'Nilai vektor setelah dihapus: \N ' ;

untuk ( ke dalam konstanta & Saya : angka ) {

cout << Saya << ' ' ;


}


cout << akhir ;


kembali 0 ;

}

Keluaran:

Output berikut akan muncul setelah mengeksekusi kode di atas. Outputnya menunjukkan bahwa vektor hanya berisi elemen yang habis dibagi 5, dan elemen lainnya telah dihilangkan.

Kesimpulan:

Penggunaan fungsi erase() yang berbeda telah ditunjukkan dalam tutorial ini untuk menghapus elemen vektor. C++ memiliki banyak fungsi lain untuk menghapus elemen dari vektor, dan fungsi tersebut dapat menghapus satu elemen dalam satu waktu. Namun baik elemen tunggal maupun ganda dari posisi mana pun dalam vektor dapat dihilangkan dengan menggunakan fungsi vektor delete().