Vector Erase () -funktion i C ++

Vector Erase Function C



Arrayen bruges til at gemme flere data, og antallet af elementer i arrayet kan ikke ændres på løbetiden. Dette problem kan løses ved hjælp af en vektor, der fungerer som et dynamisk array. Der findes forskellige funktioner i vektorklassen for at tilføje og fjerne et element fra vektoren. Funktionen slette () bruges til at fjerne et eller flere elementer fra vektoren på løbetiden, der formindsker størrelsen på vektoren. Brugen af ​​denne funktion er blevet forklaret i denne vejledning.

Syntaks:

To typer syntaks for denne funktion har givet nedenfor.







iterator slet(iteratorposition);

Ovenstående sletning () -funktion bruges til at fjerne et enkelt element fra vektoren, og det returnerer en iterator, og det peger på det element, der efterfølges af det sidste slettede element.



iterator slet(iterator starter_position, iterator slutter_position);

Ovenstående sletning () -funktion bruges til at fjerne flere elementer fra vektoren baseret på den position, der er nævnt i denne funktions første og andet argument.



Forudsætning:

Inden du kontrollerer eksemplerne på denne vejledning, skal du kontrollere, at g ++ - kompilatoren er installeret eller ikke i systemet. Hvis du bruger Visual Studio Code, skal du installere de nødvendige udvidelser for at kompilere C ++ - kildekoden for at oprette den eksekverbare kode. Her er Visual Studio Code -applikationen blevet brugt til at kompilere og eksekvere C ++ - koden. Forskellige anvendelser af funktionen slet () til at indsætte element (er) i en vektor har vist nedenfor.





Eksempel-1: Fjern det første elementelement

Opret en C ++ - fil med følgende kode for at fjerne et element fra vektorens begyndelse. En vektor med strengværdier er blevet brugt i koden. Vektorens værdier er blevet udskrevet før og efter sletning af det første element fra vektoren ved hjælp af funktionen erase () med en parameter.

// Inkluder nødvendige biblioteker

#omfatte

#omfatte

ved brug af navnerumtimer;

// Vis vektorens værdier

ugyldigdisplay_vektor(vektor<snor>frugt)

{

// Initialiser tælleren

inttæller= 1;

// Iterer og udskriv elementerne i vektoren ved hjælp af loop

til (autohan=frugt.begynde();han!=frugt.ende();han++)

{

// Kontroller, at elementerne er det sidste element eller ej

hvis(tæller!=frugt.størrelse())

koste << *han<< ',';

andet

koste << *han;

// Forøg tælleren med 1

tæller++;

}

koste <<endl;

}

intvigtigste(ugyldig) {

// Deklarere en vektor af strengedata

vektor<snor>frugt= { 'Orange','Banan','Mango','Jack Fruit','Lichi' };

// Udskriv de eksisterende værdier for vektoren

koste << 'Vektorens værdier før fjernelse:' <<endl;

display_vektor(frugt);

// Fjern det første element fra vektoren

frugt.slette(frugt.begynde());

// Udskriv de eksisterende værdier for vektoren efter fjernelse

koste << ' nVektorens værdier efter fjernelse: ' <<endl;

display_vektor(frugt);

Vend tilbage 0;

}

Produktion:

Følgende output vises efter udførelse af ovenstående kode.



Eksempel-2: Fjern flere elementer

Opret en C ++ - fil med følgende kode for at fjerne flere elementer fra vektoren ved hjælp af funktionen slet (). En vektor med heltalsværdier er blevet brugt i koden. To iteratorer er blevet brugt her til at indstille rækkevidden af ​​elementer fjernet fra vektoren. Funktionen slette () er blevet brugt med to parametre til at fjerne flere elementer fra vektoren.

// Inkluder nødvendige biblioteker

#omfatte

#omfatte

ved brug af navnerumtimer;

// Vis vektoren

ugyldigdisplay_vektor(vektor<int>nums)

{

// Udskriv vektorens værdier ved hjælp af loop

til(autohan=nums.begynde();han!=nums.ende() ;han++)

koste << *han<< '';

// Tilføj ny linje

koste << ' n';

}

intvigtigste() {

// Deklarere en vektor med heltalsdata

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

// Udskriv de eksisterende værdier for vektoren

koste << 'Vektorens værdier før fjernelse:' <<endl;

display_vektor(intArray);

// Deklarer to iteratorer for at fjerne rækkevidden af ​​elementer fra vektoren

vektor<int> :: iteratorstartEle, endEle;

// Indstil iteratoren til den første position

startEle=intArray.begynde();

// Forøg start iteratoren med 2

rykke(startEle,2);

// Indstil iteratoren til den sidste position

endEle=intArray.ende();

// Sænk slutterateratoren med 3

rykke(endEle,-3);

// Fjern rækkevidden af ​​elementer

intArray.slette(startEle, endEle);

// Udskriv de eksisterende værdier for vektoren efter fjernelse

koste << ' nVektorens værdier efter fjernelse: ' <<endl;

display_vektor(intArray);

Vend tilbage 0;

}

Produktion:

Følgende output vises efter udførelse af ovenstående kode. I henhold til iteratorernes område er elementerne fra 3. position til 7. position i vektoren blevet fjernet.

Eksempel-3: Fjern de specifikke elementer

Opret en C ++ - fil med følgende kode for at fjerne de specifikke elementer i vektoren ved hjælp af funktionen erase (). En vektor med 7 heltalselementer er blevet erklæret i koden. Dernæst har 'for' -sløjfen brugt til at iterere vektorelementerne og fjerne de elementer fra vektoren, der ikke er delelige med 5.

// Inkluder nødvendige biblioteker

#omfatte

#omfatte

ved brug af navnerumtimer;

intvigtigste()

{

// Deklarere en vektor med heltalsdata

vektor<int>tal= { 78,Fire. Fem,67,25,98,75,52 };

koste << 'Vektorens værdier før fjernelse: n';

til (int konst &jeg:tal) {

koste <<jeg<< '';

}

koste <<endl;

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

til (autohan=tal.begynde();han!=tal.ende();han++)

{

// Kontroller, at tallet er deleligt med 5 eller ej

hvis (*han% 5 != 0)

{

// Fjern elementet baseret på iteratoren

tal.slette(han-);

}

}

koste << 'Vektorens værdier efter fjernelse: n';

til (int konst &jeg:tal) {

koste <<jeg<< '';


}


koste <<endl;


Vend tilbage 0;

}

Produktion:

Følgende output vises efter udførelse af ovenstående kode. Outputtet viser, at vektoren kun indeholder de delbare elementer med 5, og andre elementer er blevet fjernet.

Konklusion:

Forskellige anvendelser af slette () -funktionen er blevet vist i denne vejledning til at fjerne vektorelementer. C ++ har mange andre funktioner til at fjerne elementet fra vektoren, og disse funktioner kan fjerne det enkelte element ad gangen. Men både enkelt- og flere elementer fra enhver position i vektoren kan fjernes ved hjælp af funktionen vektor erase ().