Vector Erase() funkcija programmā C++

Vector Erase Funkcija Programma C



Masīvs tiek izmantots vairāku datu glabāšanai, un izpildes laikā masīva elementu skaitu nevar mainīt. Šo problēmu var atrisināt, izmantojot vektoru, kas darbojas kā dinamisks masīvs. Vektoru klasē pastāv dažādas funkcijas, lai pievienotu un noņemtu elementu no vektora. Funkciju erase () izmanto, lai izpildes laikā noņemtu vienu vai vairākus elementus no vektora, kas samazina vektora izmēru. Šīs funkcijas izmantošana ir izskaidrota šajā apmācībā.

Sintakse:

Tālāk ir norādīti divi šīs funkcijas sintakses veidi.







iteratora dzēšana ( iteratora pozīcija ) ;

Iepriekš minētā erase() funkcija tiek izmantota, lai noņemtu vienu elementu no vektora, un tā atgriež iteratoru un norāda uz elementu, kuram seko pēdējais izdzēstais elements.



iteratora dzēšana ( iteratora sākuma_pozīcija, iteratora beigu_pozīcija ) ;

Iepriekš minētā funkcija erase () tiek izmantota, lai noņemtu vairākus elementus no vektora, pamatojoties uz pozīciju, kas minēta šīs funkcijas pirmajā un otrajā argumentā.



Priekšnosacījums:

Pirms šīs apmācības piemēru pārbaudes pārbaudiet, vai g++ kompilators ir instalēts vai nav sistēmā. Ja izmantojat Visual Studio kodu, instalējiet nepieciešamos paplašinājumus, lai apkopotu C++ pirmkodu un izveidotu izpildāmo kodu. Šeit lietojumprogramma Visual Studio Code ir izmantota, lai apkopotu un izpildītu C++ kodu. Tālāk ir parādīti dažādi funkcijas erase() lietojumi elementa(-u) ievietošanai vektorā.





1. piemērs: noņemiet pirmā elementa elementu

Izveidojiet C++ failu ar šādu kodu, lai noņemtu elementu no vektora sākuma. Kodā ir izmantots virknes vērtību vektors. Vektora vērtības ir izdrukātas pirms un pēc pirmā elementa dzēšanas no vektora, izmantojot funkciju erase() ar vienu parametru.

//Iekļaut nepieciešamās bibliotēkas

#include

#iekļaut

izmantojot nosaukumvieta std ;

//Parādīt vektora vērtības

nederīgs displeja_vektors ( vektors < virkne > augļiem )

{

//Inicializēt skaitītāju

starpt skaitītājs = 1 ;

//Iterējiet un izdrukājiet vektora elementus, izmantojot cilpu

priekš ( auto viņš = augļiem. sākt ( ) ; viņš ! = augļiem. beigas ( ) ; viņš ++ )

{

//Pārbaudiet, vai elementi ir pēdējais elements vai nē

ja ( skaitītājs ! = augļiem. Izmērs ( ) )

cout << * viņš << ',' ;

cits

cout << * viņš ;

//Palieliniet skaitītāju par 1

skaitītājs ++ ;

}

cout << endl ;

}

starpt galvenais ( nederīgs ) {

//Deklarēt virknes datu vektoru

vektors < virkne > augļiem = { 'Apelsīns' , 'Banāns' , 'Mango' , 'Džeka auglis' , Ličī } ;

//Izdrukā vektora esošās vērtības

cout << 'Vektora vērtības pirms noņemšanas:' << endl ;

displeja_vektors ( augļiem ) ;

//Noņemt pirmo elementu no vektora

augļiem. dzēst ( augļiem. sākt ( ) ) ;

//Pēc noņemšanas izdrukājiet esošās vektora vērtības

cout << ' \n Vektora vērtības pēc noņemšanas: ' << endl ;

displeja_vektors ( augļiem ) ;

atgriezties 0 ;

}

Izvade:

Pēc iepriekš minētā koda izpildes parādīsies šāda izvade.



2. piemērs: noņemiet vairākus elementus

Izveidojiet C++ failu ar šādu kodu, lai noņemtu vairākus elementus no vektora, izmantojot funkciju erase (). Kodā ir izmantots veselu skaitļu vērtību vektors. Šeit ir izmantoti divi iteratori, lai iestatītu no vektora noņemto elementu diapazonu. Funkcija erase() ir izmantota ar diviem parametriem, lai noņemtu vairākus elementus no vektora.

//Iekļaut nepieciešamās bibliotēkas

#iekļaut

#include

izmantojot nosaukumvieta std ;

//Parādīt vektoru

nederīgs displeja_vektors ( vektors < starpt > cipariem )

{

//Izdrukājiet vektora vērtības, izmantojot cilpu

priekš ( auto viņš = cipariem. sākt ( ) ; viņš ! = cipariem. beigas ( ) ; viņš ++ )

cout << * viņš << ' ' ;

//Pievienot jaunu rindu

cout << ' \n ' ;

}

starpt galvenais ( ) {

//Deklarēt veselu skaitļu datu vektoru

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

//Izdrukā vektora esošās vērtības

cout << 'Vektora vērtības pirms noņemšanas:' << endl ;

displeja_vektors ( intArray ) ;

//Deklarējiet divus iteratorus, lai noņemtu elementu diapazonu no vektora

vektors < starpt > :: iterators startEle, endEle ;

//Iestatiet iteratoru pirmajā pozīcijā

sāciet tos = intArray. sākt ( ) ;

//Palieliniet sākuma iteratoru par 2

iepriekš ( sākt tos, 2 ) ;

//Iestatiet iteratoru uz pēdējo pozīciju

        endEle = intArray. beigas ( ) ;

//Samaziniet beigu iteratoru par 3

iepriekš ( endEle, - 3 ) ;

//Noņemiet elementu diapazonu

intArray. dzēst ( startEle, endEle ) ;

//Pēc noņemšanas izdrukājiet esošās vektora vērtības

cout << ' \n Vektora vērtības pēc noņemšanas: ' << endl ;

displeja_vektors ( intArray ) ;

atgriezties 0 ;

}

Izvade:

Pēc iepriekš minētā koda izpildes parādīsies šāda izvade. Atbilstoši iteratoru diapazonam ir noņemti elementi no vektora 3. pozīcijas līdz 7. pozīcijai.

3. piemērs: noņemiet konkrētos elementus

Izveidojiet C++ failu ar šādu kodu, lai noņemtu konkrētus vektora elementus, izmantojot funkciju erase (). Kodā ir deklarēts 7 veselu skaitļu elementu vektors. Tālāk cilpa “for” ir izmantota, lai iterētu vektora elementus un noņemtu tos elementus no vektora, kas nedalās ar 5.

//Iekļaut nepieciešamās bibliotēkas

#include

#iekļaut

izmantojot nosaukumvieta std ;

starpt galvenais ( )

{

//Deklarēt veselu skaitļu datu vektoru

vektors < starpt > cipariem = { 78 , Četri, pieci , 67 , 25 , 98 , 75 , 52 } ;

cout << 'Vektora vērtības pirms noņemšanas: \n ' ;

priekš ( starpt konst & i : cipariem ) {

cout << i << '' ;

}

cout << endl ;

//Izņemiet no vektora skaitļus, kas nedalās ar 5

priekš ( auto viņš = cipariem. sākt ( ) ; viņš ! = cipariem. beigas ( ) ; viņš ++ )

{

//Pārbaudiet, vai skaitlis dalās ar 5 vai nē

ja ( * viņš % 5 ! = 0 )

{

//Noņemiet elementu, pamatojoties uz iteratoru

cipariem. dzēst ( viņš -- ) ;

}

}

cout << 'Vektora vērtības pēc noņemšanas: \n ' ;

priekš ( starpt konst & i : cipariem ) {

cout << i << '' ;


}


cout << endl ;


atgriezties 0 ;

}

Izvade:

Pēc iepriekš minētā koda izpildes parādīsies šāda izvade. Izvade parāda, ka vektors satur tikai ar 5 dalāmos elementus, un citi elementi ir noņemti.

Secinājums:

Šajā apmācībā ir parādīti dažādi funkcijas erase() lietojumi, lai noņemtu vektora elementus. C++ ir daudzas citas funkcijas, lai noņemtu elementu no vektora, un šīs funkcijas var noņemt vienu elementu vienlaikus. Bet gan vienu, gan vairākus elementus no jebkuras vektora pozīcijas var noņemt, izmantojot vektora dzēšanas () funkciju.