Vektoriaus ištrynimo () funkcija C ++

Vector Erase Function C



Masyvas naudojamas keliems duomenims saugoti, o masyvo elementų skaičius negali būti keičiamas vykdymo metu. Šią problemą galima išspręsti naudojant vektorių, kuris veikia kaip dinaminis masyvas. Vektorių klasėje yra įvairių funkcijų, skirtų pridėti ir pašalinti elementą iš vektoriaus. Funkcija ištrinti () naudojama pašalinti vieną ar daugiau elementų iš vektoriaus vykdymo metu, kuris sumažina vektoriaus dydį. Šios pamokos paaiškinimas apie šios funkcijos naudojimą.

Sintaksė:

Toliau pateikiamos dviejų tipų šios funkcijos sintaksės.







iteratoriaus ištrynimas(iteratoriaus padėtis);

Aukščiau pateikta ištrynimo () funkcija naudojama pašalinti vieną elementą iš vektoriaus ir grąžina iteratorių, o jis nurodo elementą, po kurio eina paskutinis ištrintas elementas.



iteratoriaus ištrynimas(iteratoriaus pradžios_pozicija, iteratoriaus pabaigos_pozicija);

Aukščiau pateikta ištrynimo () funkcija naudojama pašalinti kelis elementus iš vektoriaus, remiantis padėtimi, paminėta pirmajame ir antrajame šios funkcijos argumentuose.



Būtina sąlyga:

Prieš tikrindami šios pamokos pavyzdžius, turite patikrinti, ar sistemoje „g ++“ kompiliatorius yra įdiegtas, ar ne. Jei naudojate „Visual Studio Code“, įdiekite reikiamus plėtinius, kad sudarytumėte C ++ šaltinio kodą, kad sukurtumėte vykdomąjį kodą. Čia „Visual Studio Code“ programa buvo naudojama C ++ kodui sudaryti ir vykdyti. Toliau parodyta, kaip skirtingai ištrinti () funkciją, norint įterpti elementą (-us) į vektorių.





1 pavyzdys: pašalinkite pirmąjį elemento elementą

Sukurkite C ++ failą su šiuo kodu, kad pašalintumėte elementą iš vektoriaus pradžios. Kode naudojamas eilutės reikšmių vektorius. Vektoriaus reikšmės buvo atspausdintos prieš ir po pirmojo elemento ištrynimo iš vektoriaus, naudojant funkciją erase () su vienu parametru.

// Įtraukti reikiamas bibliotekas

#įtraukti

#įtraukti

naudojant vardų sritisvalandų;

// Rodyti vektoriaus reikšmes

tuštumadisplay_vector(vektorius<eilutė>vaisiai)

{

// Inicijuokite skaitiklį

tarptskaitiklis= 1;

// Pakartokite ir atsispausdinkite vektoriaus elementus naudodami kilpą

dėl (automatinisjis=vaisiai.pradėti();jis!=vaisiai.galas();jis++)

{

// Patikrinkite, ar elementai yra paskutinis elementas, ar ne

jei(skaitiklis!=vaisiai.dydžio())

kaina << *jis<< ',';

Kitas

kaina << *jis;

// Padidinkite skaitiklį 1

skaitiklis++;

}

kaina <<endl;

}

tarptpagrindinis(tuštuma) {

// Eilutės duomenų vektoriaus deklaravimas

vektorius<eilutė>vaisiai= { „Oranžinė“,'Bananas','Mango',„Džekas vaisius“,„Lichi“ };

// Spausdinti esamas vektoriaus reikšmes

kaina << 'Vektoriaus reikšmės prieš pašalinimą:' <<endl;

display_vector(vaisiai);

// Pašalinkite pirmąjį elementą iš vektoriaus

vaisiai.ištrinti(vaisiai.pradėti());

// Atspausdinkite esamas vektoriaus reikšmes po pašalinimo

kaina << ' nVektoriaus reikšmės po pašalinimo: ' <<endl;

display_vector(vaisiai);

grįžti 0;

}

Išėjimas:

Įvedus pirmiau nurodytą kodą, pasirodys ši išvestis.



2 pavyzdys: pašalinkite kelis elementus

Sukurkite C ++ failą naudodami šį kodą, kad pašalintumėte kelis elementus iš vektoriaus naudodami funkciją erase (). Kode naudotas sveikų skaičių reikšmių vektorius. Čia buvo naudojami du iteratoriai, skirti nustatyti iš vektoriaus pašalintų elementų diapazoną. Funkcija ištrinti () buvo naudojama su dviem parametrais, kad būtų pašalinti keli elementai iš vektoriaus.

// Įtraukti reikiamas bibliotekas

#įtraukti

#įtraukti

naudojant vardų sritisvalandų;

// Rodyti vektorių

tuštumadisplay_vector(vektorius<tarpt>nums)

{

// Spausdinkite vektoriaus reikšmes naudodami kilpą

dėl(automatinisjis=nums.pradėti();jis!=nums.galas() ;jis++)

kaina << *jis<< '';

// Pridėti naują eilutę

kaina << ' n';

}

tarptpagrindinis() {

// Deklaruoti sveikųjų skaičių duomenų vektorių

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

// Spausdinti esamas vektoriaus reikšmes

kaina << 'Vektoriaus reikšmės prieš pašalinimą:' <<endl;

display_vector(intArray);

// Paskelbkite du iteratorius, kad pašalintumėte elementų diapazoną iš vektoriaus

vektorius<tarpt> :: iteratoriusstartEle, endEle;

// Nustatykite iteratorių į pirmą vietą

startEle=intArray.pradėti();

// Pradinį iteratorių padidinkite 2

avansą(startEle,2);

// Nustatykite iteratorių į paskutinę padėtį

endEle=intArray.galas();

// Sumažinkite pabaigos iteratorių 3

avansą(endEle,-3);

// Pašalinkite elementų diapazoną

intArray.ištrinti(startEle, endEle);

// Atspausdinkite esamas vektoriaus reikšmes po pašalinimo

kaina << ' nVektoriaus reikšmės po pašalinimo: ' <<endl;

display_vector(intArray);

grįžti 0;

}

Išėjimas:

Įvedus pirmiau nurodytą kodą, pasirodys ši išvestis. Pagal iteratorių diapazoną elementai nuo 3 -osios iki 7 -osios vektoriaus padėties buvo pašalinti.

3 pavyzdys: pašalinkite konkrečius elementus

Sukurkite C ++ failą su šiuo kodu, kad pašalintumėte konkrečius vektoriaus elementus, naudodami funkciją erase (). Kode nurodytas 7 sveikųjų skaičių elementų vektorius. Toliau kilpa „for“ panaudojo vektorių elementų kartojimą ir pašalino iš vektoriaus tuos elementus, kurie nėra dalijami iš 5.

// Įtraukti reikiamas bibliotekas

#įtraukti

#įtraukti

naudojant vardų sritisvalandų;

tarptpagrindinis()

{

// Deklaruoti sveikųjų skaičių duomenų vektorių

vektorius<tarpt>skaičių= { 78,Keturi, penki,67,25,98,75,52 };

kaina << „Vektoriaus reikšmės prieš pašalinant: n';

dėl (tarpt konst &i:skaičių) {

kaina <<i<< '';

}

kaina <<endl;

// Pašalinkite skaičius iš vektoriaus, kurie nesidalija iš 5

dėl (automatinisjis=skaičių.pradėti();jis!=skaičių.galas();jis++)

{

// Patikrinkite, ar skaičius dalijasi iš 5, ar ne

jei (*jis% 5 != 0)

{

// Pašalinkite elementą pagal iteratorių

skaičių.ištrinti(jis-);

}

}

kaina << „Vektoriaus vertės pašalinus: n';

dėl (tarpt konst &i:skaičių) {

kaina <<i<< '';


}


kaina <<endl;


grįžti 0;

}

Išėjimas:

Įvedus pirmiau nurodytą kodą, pasirodys ši išvestis. Išvestis rodo, kad vektoriuje yra tik dalijami elementai iš 5, o kiti elementai buvo pašalinti.

Išvada:

Šioje instrukcijoje buvo parodyti skirtingi ištrynimo () funkcijos naudojimo būdai, skirti pašalinti vektorinius elementus. C ++ turi daug kitų funkcijų, skirtų pašalinti elementą iš vektoriaus, ir šios funkcijos gali pašalinti vieną elementą vienu metu. Tačiau tiek pavienius, tiek kelis elementus iš bet kurios vektoriaus vietos galima pašalinti naudojant vektoriaus ištrynimo () funkciją.