Vector Erase() funkcija u C++

Vector Erase Funkcija U C



Niz se koristi za pohranjivanje više podataka, a broj elemenata niza ne može se mijenjati tijekom izvođenja. Ovaj problem se može riješiti korištenjem vektora koji radi kao dinamički niz. U klasi vektora postoje različite funkcije za dodavanje i uklanjanje elementa iz vektora. Funkcija erase() koristi se za uklanjanje jednog ili više elemenata iz vektora tijekom vremena izvođenja koje smanjuje veličinu vektora. Upotreba ove funkcije objašnjena je u ovom vodiču.

Sintaksa:

Dolje su navedene dvije vrste sintakse ove funkcije.







brisanje iteratora ( pozicija iteratora ) ;

Gornja funkcija erase() koristi se za uklanjanje jednog elementa iz vektora i vraća iterator koji pokazuje na element iza kojeg slijedi zadnji izbrisani element.



brisanje iteratora ( početni_položaj iteratora, završni_položaj iteratora ) ;

Gornja funkcija erase() koristi se za uklanjanje više elemenata iz vektora na temelju položaja spomenutog u prvom i drugom argumentu ove funkcije.



Preduvjet:

Prije provjere primjera ovog vodiča, morate provjeriti je li g++ prevodilac instaliran ili ne u sustavu. Ako koristite Visual Studio Code, tada instalirajte potrebna proširenja za kompajliranje C++ izvornog koda za stvaranje izvršnog koda. Ovdje je korištena aplikacija Visual Studio Code za kompajliranje i izvođenje C++ koda. Dolje su prikazane različite upotrebe funkcije erase() za umetanje elementa(a) u vektor.





Primjer-1: Uklonite prvi element elementa

Stvorite C++ datoteku sa sljedećim kodom za uklanjanje elementa s početka vektora. U kodu je korišten vektor vrijednosti niza. Vrijednosti vektora ispisane su prije i nakon brisanja prvog elementa iz vektora pomoću funkcije erase() s jednim parametrom.

//Uključi potrebne biblioteke

#include

#uključi

korištenjem imenski prostor std ;

//Prikaz vrijednosti vektora

poništiti prikaz_vektora ( vektor < niz > voće )

{

//Inicijaliziraj brojač

int brojač = 1 ;

//Iteracija i ispis elemenata vektora pomoću petlje

za ( auto on = voće. početi ( ) ; on ! = voće. kraj ( ) ; on ++ )

{

//Provjerite jesu li elementi zadnji element ili ne

ako ( brojač ! = voće. veličina ( ) )

cout << * on << ', ' ;

drugo

cout << * on ;

//Povećaj brojač za 1

brojač ++ ;

}

cout << endl ;

}

int glavni ( poništiti ) {

//Deklarirajte vektor podataka niza

vektor < niz > voće = { 'Naranča' , 'Banana' , 'Mango' , 'Jack Fruit' , Liči } ;

//Ispis postojećih vrijednosti vektora

cout << 'Vrijednosti vektora prije uklanjanja: ' << endl ;

prikaz_vektora ( voće ) ;

//Uklanjanje prvog elementa iz vektora

voće. izbrisati ( voće. početi ( ) ) ;

//Ispiši postojeće vrijednosti vektora nakon uklanjanja

cout << ' \n Vrijednosti vektora nakon uklanjanja: ' << endl ;

prikaz_vektora ( voće ) ;

povratak 0 ;

}

Izlaz:

Nakon izvršavanja gornjeg koda pojavit će se sljedeći izlaz.



Primjer-2: Uklonite više elemenata

Stvorite C++ datoteku sa sljedećim kodom za uklanjanje višestrukih elemenata iz vektora pomoću funkcije erase(). U kodu je korišten vektor cjelobrojnih vrijednosti. Ovdje su korištena dva iteratora za postavljanje raspona elemenata uklonjenih iz vektora. Funkcija erase() korištena je s dva parametra za uklanjanje više elemenata iz vektora.

//Uključi potrebne biblioteke

#uključi

#include

korištenjem imenski prostor std ;

//Prikaži vektor

poništiti prikaz_vektora ( vektor < int > brojevima )

{

//Ispis vrijednosti vektora pomoću petlje

za ( auto on = brojevima. početi ( ) ; on ! = brojevima. kraj ( ) ; on ++ )

cout << * on << ' ' ;

//Dodaj novi redak

cout << ' \n ' ;

}

int glavni ( ) {

//Deklarirajte vektor cjelobrojnih podataka

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

//Ispis postojećih vrijednosti vektora

cout << 'Vrijednosti vektora prije uklanjanja: ' << endl ;

prikaz_vektora ( intArray ) ;

//Deklarirajte dva iteratora za uklanjanje raspona elemenata iz vektora

vektor < int > :: iterator startEle, endEle ;

//Postavite iterator na prvu poziciju

pokrenuti ih = intArray. početi ( ) ;

//Povećaj početni iterator za 2

unaprijed ( pokreni ih, 2 ) ;

//Postavi iterator na posljednju poziciju

endEle = intArray. kraj ( ) ;

//Smanjite završni iterator za 3

unaprijed ( endEle, - 3 ) ;

//Ukloni raspon elemenata

intArray. izbrisati ( startEle, endEle ) ;

//Ispiši postojeće vrijednosti vektora nakon uklanjanja

cout << ' \n Vrijednosti vektora nakon uklanjanja: ' << endl ;

prikaz_vektora ( intArray ) ;

povratak 0 ;

}

Izlaz:

Nakon izvršavanja gornjeg koda pojavit će se sljedeći izlaz. Sukladno rasponu iteratora, elementi od 3. do 7. pozicije vektora su uklonjeni.

Primjer-3: Uklonite određene elemente

Stvorite C++ datoteku sa sljedećim kodom za uklanjanje određenih elemenata vektora pomoću funkcije erase(). U kodu je deklariran vektor od 7 cjelobrojnih elemenata. Dalje, petlja 'za' koristi se za ponavljanje vektorskih elemenata i uklanjanje onih elemenata iz vektora koji nisu djeljivi s 5.

//Uključi potrebne biblioteke

#include

#uključi

korištenjem imenski prostor std ;

int glavni ( )

{

//Deklarirajte vektor cjelobrojnih podataka

vektor < int > brojevima = { 78 , Četiri pet , 67 , 25 , 98 , 75 , 52 } ;

cout << 'Vrijednosti vektora prije uklanjanja: \n ' ;

za ( int konst i ja : brojevima ) {

cout << ja << ' ' ;

}

cout << endl ;

//Uklonite brojeve iz vektora koji nisu djeljivi s 5

za ( auto on = brojevima. početi ( ) ; on ! = brojevima. kraj ( ) ; on ++ )

{

//Provjerite je li broj djeljiv s 5 ili ne

ako ( * on % 5 ! = 0 )

{

//Uklanjanje elementa na temelju iteratora

brojevima. izbrisati ( on -- ) ;

}

}

cout << 'Vrijednosti vektora nakon uklanjanja: \n ' ;

za ( int konst i ja : brojevima ) {

cout << ja << ' ' ;


}


cout << endl ;


povratak 0 ;

}

Izlaz:

Nakon izvršavanja gornjeg koda pojavit će se sljedeći izlaz. Izlaz pokazuje da vektor sadrži samo elemente djeljive s 5, a ostali elementi su uklonjeni.

Zaključak:

U ovom vodiču prikazane su različite upotrebe funkcije erase() za uklanjanje vektorskih elemenata. C++ ima mnoge druge funkcije za uklanjanje elementa iz vektora, a te funkcije mogu ukloniti jedan po jedan element. Ali pojedinačni i višestruki elementi s bilo koje pozicije vektora mogu se ukloniti pomoću funkcije vektor brisanje().