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ą.