Vector Erase () -funksjon i C ++

Vector Erase Function C



Matrisen brukes til å lagre flere data, og antall elementer i matrisen kan ikke endres på kjøretiden. Dette problemet kan løses ved å bruke en vektor som fungerer som en dynamisk matrise. Det finnes forskjellige funksjoner i vektorklassen for å legge til og fjerne et element fra vektoren. Slett () -funksjonen brukes til å fjerne ett eller flere elementer fra vektoren på løpetiden som reduserer størrelsen på vektoren. Bruken av denne funksjonen er forklart i denne opplæringen.

Syntaks:

To typer syntaks for denne funksjonen har gitt nedenfor.







iterator slette(iterator -posisjon);

Funksjonen ovenfor for sletting () brukes til å fjerne et enkelt element fra vektoren, og den returnerer en iterator, og den peker på elementet som blir fulgt av det siste slettede elementet.



iterator slette(iterator starter_posisjon, iterator slutter_posisjon);

Funksjonen ovenfor for sletting () brukes til å fjerne flere elementer fra vektoren basert på posisjonen nevnt i denne funksjonens første og andre argumenter.



Forutsetning:

Før du sjekker eksemplene på denne opplæringen, må du kontrollere at g ++ - kompilatoren er installert eller ikke i systemet. Hvis du bruker Visual Studio Code, må du installere de nødvendige utvidelsene for å kompilere C ++ - kildekoden for å lage den kjørbare koden. Her har Visual Studio Code -applikasjonen blitt brukt til å kompilere og utføre C ++ - koden. Ulike bruksområder for slette () -funksjonen for å sette inn element (er) i en vektor har vist nedenfor.





Eksempel 1: Fjern det første elementelementet

Lag en C ++ - fil med følgende kode for å fjerne et element fra begynnelsen av vektoren. En vektor med strengverdier har blitt brukt i koden. Verdiene til vektoren er skrevet ut før og etter sletting av det første elementet fra vektoren ved hjelp av funksjonen slette () med en parameter.

// Inkluder nødvendige biblioteker

#inkludere

#inkludere

ved hjelp av navneområdetimer;

// Vis verdiene til vektoren

tomromdisplay_vektor(vektor<streng>frukt)

{

// Initialiser telleren

intdisk= 1;

// Iterer og skriv ut elementene i vektoren ved hjelp av loop

til (autohan=frukt.begynne();han!=frukt.slutt();han++)

{

// Kontroller at elementene er det siste elementet eller ikke

hvis(disk!=frukt.størrelse())

koste << *han<< ',';

ellers

koste << *han;

// Øk telleren med 1

disk++;

}

koste <<endl;

}

inthoved-(tomrom) {

// Deklarere en vektor med strengdata

vektor<streng>frukt= { 'Oransje','Banan','Mango','Jack Fruit','Lichi' };

// Skriv ut de eksisterende verdiene til vektoren

koste << 'Verdiene til vektoren før fjerning:' <<endl;

display_vektor(frukt);

// Fjern det første elementet fra vektoren

frukt.viske ut(frukt.begynne());

// Skriv ut de eksisterende verdiene til vektoren etter fjerning

koste << ' nVerdiene til vektoren etter fjerning: ' <<endl;

display_vektor(frukt);

komme tilbake 0;

}

Produksjon:

Følgende utdata vises etter at koden ovenfor er utført.



Eksempel 2: Fjern flere elementer

Lag en C ++ - fil med følgende kode for å fjerne flere elementer fra vektoren ved hjelp av funksjonen slette (). En vektor med heltallsverdier har blitt brukt i koden. To iteratorer har blitt brukt her for å angi rekkevidden av elementer som er fjernet fra vektoren. Slett () -funksjonen har blitt brukt med to parametere for å fjerne flere elementer fra vektoren.

// Inkluder nødvendige biblioteker

#inkludere

#inkludere

ved hjelp av navneområdetimer;

// Vis vektoren

tomromdisplay_vektor(vektor<int>tall)

{

// Skriv ut verdiene til vektoren ved hjelp av loop

til(autohan=tall.begynne();han!=tall.slutt() ;han++)

koste << *han<< '';

// Legg til ny linje

koste << ' n';

}

inthoved-() {

// Deklarere en vektor med heltallsdata

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

// Skriv ut de eksisterende verdiene til vektoren

koste << 'Verdiene til vektoren før fjerning:' <<endl;

display_vektor(intArray);

// Deklarer to iteratorer for å fjerne rekkevidden av elementer fra vektoren

vektor<int> :: iteratorstartEle, endEle;

// Sett iteratoren til den første posisjonen

startEle=intArray.begynne();

// Øk start iteratoren med 2

avansere(startEle,2);

// Sett iteratoren til siste posisjon

endEle=intArray.slutt();

// Reduser slutt iteratoren med 3

avansere(endEle,-3);

// Fjern rekkevidden av elementer

intArray.viske ut(startEle, endEle);

// Skriv ut de eksisterende verdiene til vektoren etter fjerning

koste << ' nVerdiene til vektoren etter fjerning: ' <<endl;

display_vektor(intArray);

komme tilbake 0;

}

Produksjon:

Følgende utdata vises etter at koden ovenfor er utført. I henhold til området for iteratorene er elementene fra 3. posisjon til 7. posisjon av vektoren fjernet.

Eksempel-3: Fjern de spesifikke elementene

Lag en C ++ - fil med følgende kode for å fjerne de spesifikke elementene i vektoren ved hjelp av funksjonen slette (). En vektor med 7 heltallselementer er deklarert i koden. Deretter har 'for' -løkken brukt til å iterere vektorelementene og fjerne elementene fra vektoren som ikke er delbare med 5.

// Inkluder nødvendige biblioteker

#inkludere

#inkludere

ved hjelp av navneområdetimer;

inthoved-()

{

// Deklarere en vektor med heltallsdata

vektor<int>tall= { 78,Fire fem,67,25,98,75,52 };

koste << 'Verdiene til vektoren før du fjerner: n';

til (int konst &Jeg:tall) {

koste <<Jeg<< '';

}

koste <<endl;

// Fjern tallene fra vektoren, de er ikke delbare med 5

til (autohan=tall.begynne();han!=tall.slutt();han++)

{

// Kontroller at tallet er delbart med 5 eller ikke

hvis (*han% 5 != 0)

{

// Fjern elementet basert på iteratoren

tall.viske ut(han-);

}

}

koste << 'Verdiene til vektoren etter fjerning: n';

til (int konst &Jeg:tall) {

koste <<Jeg<< '';


}


koste <<endl;


komme tilbake 0;

}

Produksjon:

Følgende utdata vises etter at koden ovenfor er utført. Utgangen viser at vektoren bare inneholder delbare elementer med 5, og andre elementer er fjernet.

Konklusjon:

Ulike bruksområder for slette () -funksjonen har blitt vist i denne opplæringen for å fjerne vektorelementer. C ++ har mange andre funksjoner for å fjerne elementet fra vektoren, og disse funksjonene kan fjerne enkeltelementet om gangen. Men både enkelt- og flere elementer fra en hvilken som helst posisjon av vektoren kan fjernes ved hjelp av funksjonen vektor slette ().