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 ().