Matricea este folosită pentru a stoca date multiple, iar numărul de elemente ale matricei 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 erase() este folosită pentru a elimina unul sau mai multe elemente din vector în timpul rulării 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.
ștergerea iteratorului ( poziţia iteratorului ) ;
Funcția erase() de mai sus este folosită pentru a elimina un singur element din vector și returnează un iterator și indică elementul care este urmat de ultimul element șters.
ștergerea iteratorului ( iterator starting_position, iterator ending_position ) ;
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.
Condiție prealabilă:
Înainte de a verifica exemplele acestui tutorial, trebuie să verificați că 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 folosită pentru a compila și executa codul C++. Mai jos sunt prezentate diferite utilizări ale funcției erase() pentru a insera element(e) într-un vector.
Exemplul-1: Eliminați primul element element
Creați un fișier C++ cu următorul cod pentru a elimina un element de la începutul vectorului. În cod a fost folosit un vector de valori de șir. Valorile vectorului au fost tipărite înainte și după ștergerea primului element din vector folosind funcția erase() cu un singur parametru.
//Include bibliotecile necesare#include
#include
folosind spatiu de nume std ;
//Afișează valorile vectorului
vid display_vector ( vector < şir > fructe )
{
//Inițializați contorul
int tejghea = 1 ;
//Iterează și imprimă elementele vectorului folosind bucla
pentru ( auto el = fructe. ÎNCEPE ( ) ; el ! = fructe. Sfârşit ( ) ; el ++ )
{
//Verificați că elementele sunt ultimul element sau nu
dacă ( tejghea ! = fructe. mărimea ( ) )
cout << * el << ', ' ;
altfel
cout << * el ;
//Măriți contorul cu 1
tejghea ++ ;
}
cout << endl ;
}
int principal ( vid ) {
//Declară un vector de date șir
vector < şir > fructe = { 'Portocale' , 'Banană' , 'Mango' , 'Jack Fruit' , Lychee } ;
//Tipărește valorile existente ale vectorului
cout << 'Valorile vectorului înainte de a elimina: ' << endl ;
display_vector ( fructe ) ;
//Elimină primul element din vector
fructe. şterge ( fructe. ÎNCEPE ( ) ) ;
//Tipărește valorile existente ale vectorului după eliminare
cout << ' \n Valorile vectorului după eliminare: ' << endl ;
display_vector ( fructe ) ;
întoarcere 0 ;
}
Ieșire:
Următoarea ieșire va apărea după executarea codului de mai sus.
Exemplul-2: Eliminați mai multe elemente
Creați un fișier C++ cu următorul cod pentru a elimina mai multe elemente din vector folosind funcția erase(). În cod a fost folosit un vector de valori întregi. Două iteratoare au fost folosite aici pentru a seta gama de elemente eliminate din vector. Funcția erase() a fost folosită cu doi parametri pentru a elimina mai multe elemente din vector.
//Include bibliotecile necesare#include
#include
folosind spatiu de nume std ;
//Afișează vectorul
vid display_vector ( vector < int > numere )
{
//Tipărește valorile vectorului folosind bucla
pentru ( auto el = numere. ÎNCEPE ( ) ; el ! = numere. Sfârşit ( ) ; el ++ )
cout << * el << ' ' ;
//Adăugați o linie nouă
cout << ' \n ' ;
}
int principal ( ) {
//Declară un vector de date întregi
vector < int > intArray { 678 , 435 , 960 , 231 , 800 , 387 , 634 , 267 , 409 , 294 } ;
//Tipărește valorile existente ale vectorului
cout << 'Valorile vectorului înainte de a elimina: ' << endl ;
display_vector ( intArray ) ;
//Declarați doi iteratoare pentru a elimina gama de elemente din vector
vector < int > :: iterator startEle, endEle ;
//Setați iteratorul în prima poziție
startEle = intArray. ÎNCEPE ( ) ;
//Incrementează iteratorul de pornire cu 2
avans ( startEle, 2 ) ;
//Setați iteratorul în ultima poziție
endEle = intArray. Sfârşit ( ) ;
//Reduceți iteratorul final cu 3
avans ( endEle, - 3 ) ;
//Elimină gama de elemente
intArray. şterge ( startEle, endEle ) ;
//Tipărește valorile existente ale vectorului după eliminare
cout << ' \n Valorile 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 la poziția a 7-a a vectorului au fost îndepărtate.
Exemplul-3: Eliminați elementele specifice
Creați un fișier C++ cu următorul cod pentru a elimina elementele specifice ale vectorului folosind funcția erase(). Un vector de 7 elemente întregi a fost declarat în cod. În continuare, bucla „for” a folosit pentru a repeta elementele vectoriale și pentru a elimina acele elemente din vector care nu sunt divizibile cu 5.
//Include bibliotecile necesare#include
#include
folosind spatiu de nume std ;
int principal ( )
{
//Declară un vector de date întregi
vector < int > numere = { 78 , Patru cinci , 67 , 25 , 98 , 75 , 52 } ;
cout << „Valorile vectorului înainte de a elimina: \n ' ;
pentru ( int const & i : numere ) {
cout << i << ' ' ;
}
cout << endl ;
//Elimină numerele din vector care nu sunt divizibile cu 5
pentru ( auto el = numere. ÎNCEPE ( ) ; el ! = numere. Sfârşit ( ) ; el ++ )
{
//Verificați dacă numărul este divizibil cu 5 sau nu
dacă ( * el % 5 ! = 0 )
{
//Elimină elementul pe baza iteratorului
numere. şterge ( el -- ) ;
}
}
cout << „Valorile vectorului după eliminare: \n ' ;
pentru ( int const & i : numere ) {
cout << i << ' ' ;
}
cout << endl ;
întoarcere 0 ;
}
Ieșire:
Următoarea ieșire va apărea după executarea codului de mai sus. Rezultatul arată că vectorul conține elementele divizibile numai cu 5, iar alte elemente au fost eliminate.
Concluzie:
În acest tutorial au fost prezentate diferite utilizări ale funcției erase() pentru a elimina elemente vectoriale. C++ are multe alte funcții pentru a elimina elementul din vector, iar acele funcții pot elimina un singur element la un moment dat. Dar atât elementele simple, cât și mai multe din orice poziție a vectorului pot fi eliminate folosind funcția vector erase().