Funcția Vector Erase () în C ++

Vector Erase Function C



Tabloul este utilizat pentru a stoca mai multe date, iar numărul de elemente ale tabloului nu poate fi modificat în timpul rulării. Această problemă poate fi rezolvată folosind un vector care funcționează ca o matrice dinamică. Există diferite funcții în clasa vectorului pentru a adăuga și elimina un element din vector. Funcția șterge () este utilizată pentru a elimina unul sau mai multe elemente din vector la timpul de rulare care scade dimensiunea vectorului. Utilizările acestei funcții au fost explicate în acest tutorial.

Sintaxă:

Două tipuri de sintaxă ale acestei funcții au fost prezentate mai jos.







șterge iterator(poziția iteratorului);

Funcția erase () de mai sus este utilizată pentru a elimina un singur element din vector și returnează un iterator și indică elementul urmat de ultimul element șters.



șterge iterator(poziția de pornire a iteratorului, poziția de încheiere a iteratorului);

Funcția erase () de mai sus este utilizată pentru a elimina mai multe elemente din vector pe baza poziției menționate în primul și al doilea argument al acestei funcții.



Cerință prealabilă:

Înainte de a verifica exemplele acestui tutorial, trebuie să verificați dacă compilatorul g ++ este instalat sau nu în sistem. Dacă utilizați Visual Studio Code, atunci instalați extensiile necesare pentru a compila codul sursă C ++ pentru a crea codul executabil. Aici, aplicația Visual Studio Code a fost utilizată pentru a compila și executa codul C ++. Diferite utilizări ale funcției erase () pentru a insera element (e) într-un vector s-au arătat mai jos.





Exemplu-1: Eliminați primul element de element

Creați un fișier C ++ cu următorul cod pentru a elimina un element de la începutul vectorului. Un cod de valori de șir a fost utilizat în cod. Valorile vectorului au fost tipărite înainte și după ștergerea primului element din vector folosind funcția erase () cu un singur parametru.

// Includeți bibliotecile necesare

#include

#include

folosind spațiu de numeore;

// Afișați valorile vectorului

nuldisplay_vector(vector<şir>fructe)

{

// Inițializați contorul

inttejghea= 1;

// Iterează și tipărește elementele vectorului folosind bucla

pentru (autoel=fructe.începe();el!=fructe.Sfârșit();el++)

{

// Verificați dacă elementele sunt ultimul element sau nu

dacă(tejghea!=fructe.mărimea())

cost << *el<< ',';

altceva

cost << *el;

// Măriți contorul cu 1

tejghea++;

}

cost <<endl;

}

intprincipal(nul) {

// Declarați un vector de date șir

vector<şir>fructe= { 'Portocale','Banană','Mango',„Fructul Jack”,„Lichi” };

// Imprimați valorile existente ale vectorului

cost << „Valorile vectorului înainte de eliminare:” <<endl;

display_vector(fructe);

// Scoateți primul element din vector

fructe.şterge(fructe.începe());

// Imprimați valorile existente ale vectorului după eliminare

cost << ' nValorile vectorului după eliminare: ' <<endl;

display_vector(fructe);

întoarcere 0;

}

Ieșire:

Următoarea ieșire va apărea după executarea codului de mai sus.



Exemplu-2: Eliminați mai multe elemente

Creați un fișier C ++ cu următorul cod pentru a elimina elementele multiple din vector utilizând funcția erase (). Un cod de valori întregi a fost utilizat în cod. Două iteratoare au fost folosite aici pentru a seta gama de elemente eliminate din vector. Funcția erase () a fost utilizată cu doi parametri pentru a elimina mai multe elemente din vector.

// Includeți bibliotecile necesare

#include

#include

folosind spațiu de numeore;

// Afișează vectorul

nuldisplay_vector(vector<int>nums)

{

// Imprimați valorile vectorului folosind bucla

pentru(autoel=nums.începe();el!=nums.Sfârșit() ;el++)

cost << *el<< '';

// Adăugați o linie nouă

cost << ' n';

}

intprincipal() {

// Declarați un vector de date întregi

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

// Imprimați valorile existente ale vectorului

cost << „Valorile vectorului înainte de eliminare:” <<endl;

display_vector(intArray);

// Declarați doi iteratori pentru a elimina gama de elemente din vector

vector<int> :: iteratorstartEle, endEle;

// Setați iteratorul în prima poziție

startEle=intArray.începe();

// Măriți iteratorul de pornire cu 2

avans(startEle,2);

// Setați iteratorul la ultima poziție

endEle=intArray.Sfârșit();

// Decrementați iteratorul final cu 3

avans(endEle,-3);

// Eliminați gama de elemente

intArray.şterge(startEle, endEle);

// Imprimați valorile existente ale vectorului după eliminare

cost << ' nValorile vectorului după eliminare: ' <<endl;

display_vector(intArray);

întoarcere 0;

}

Ieșire:

Următoarea ieșire va apărea după executarea codului de mai sus. În funcție de intervalul iteratorilor, elementele de la poziția a 3-a până la poziția a 7-a a vectorului au fost eliminate.

Exemplul-3: Eliminați elementele specifice

Creați un fișier C ++ cu următorul cod pentru a elimina elementele specifice ale vectorului utilizând funcția erase (). Un cod de 7 elemente întregi a fost declarat în cod. Apoi, bucla „pentru” a folosit pentru a itera elementele vectoriale și a elimina acele elemente din vector care nu sunt divizibile cu 5.

// Includeți bibliotecile necesare

#include

#include

folosind spațiu de numeore;

intprincipal()

{

// Declarați un vector de date întregi

vector<int>numere= { 78,Patru cinci,67,25,98,75,52 };

cost << „Valorile vectorului înainte de eliminare: n';

pentru (int const &eu:numere) {

cost <<eu<< '';

}

cost <<endl;

// Scoateți numerele din vector, acestea nu sunt divizibile cu 5

pentru (autoel=numere.începe();el!=numere.Sfârșit();el++)

{

// Verificați dacă numărul este divizibil cu 5 sau nu

dacă (*el% 5 != 0)

{

// Eliminați elementul pe baza iteratorului

numere.şterge(el-);

}

}

cost << „Valorile vectorului după eliminare: n';

pentru (int const &eu:numere) {

cost <<eu<< '';


}


cost <<endl;


întoarcere 0;

}

Ieșire:

Următoarea ieșire va apărea după executarea codului de mai sus. Ieșirea arată că vectorul conține elementele divizibile doar cu 5, iar alte elemente au fost eliminate.

Concluzie:

Diferite utilizări ale funcției erase () au fost prezentate în acest tutorial pentru a elimina elementele vectoriale. C ++ are multe alte funcții pentru a elimina elementul din vector, iar acele funcții pot elimina elementul unic la un moment dat. Dar atât elementele simple, cât și cele multiple din orice poziție a vectorului pot fi eliminate prin utilizarea funcției vector erase ().