Funció Vector Erase () a C ++

Vector Erase Function C



La matriu s’utilitza per emmagatzemar diverses dades i el nombre d’elements de la matriu no es pot canviar durant el temps d’execució. Aquest problema es pot resoldre mitjançant un vector que funciona com una matriu dinàmica. Existeixen diferents funcions a la classe de vectors per afegir i eliminar un element del vector. La funció erase () s’utilitza per eliminar un o més elements del vector en el temps d’execució que disminueix la mida del vector. Els usos d'aquesta funció s'han explicat en aquest tutorial.

Sintaxi:

A continuació es detallen dos tipus de sintaxi d’aquesta funció.







esborrar iterador(posició de l’iterador);

La funció erase () anterior s’utilitza per eliminar un sol element del vector i retorna un iterador i apunta a l’element que és seguit de l’últim element esborrat.



esborrar iterador(iterador posició inicial, posició final iterador);

La funció erase () anterior s’utilitza per eliminar diversos elements del vector en funció de la posició esmentada en el primer i segon argument d’aquesta funció.



Requisit previ:

Abans de comprovar els exemples d’aquest tutorial, heu de comprovar que el compilador g ++ està instal·lat o no al sistema. Si utilitzeu Visual Studio Code, instal·leu les extensions necessàries per compilar el codi font de C ++ per crear el codi executable. Aquí, s’ha utilitzat l’aplicació Visual Studio Code per compilar i executar el codi C ++. A continuació es mostren diferents usos de la funció erase () per inserir elements en un vector.





Exemple-1: traieu el primer element element

Creeu un fitxer C ++ amb el codi següent per eliminar un element del començament del vector. S'ha utilitzat un vector de valors de cadena al codi. Els valors del vector s'han imprès abans i després de suprimir el primer element del vector mitjançant la funció erase () amb un paràmetre.

// Incloeu les biblioteques necessàries

#incloure

#incloure

utilitzant espai de nomshores;

// Mostra els valors del vector

buitdisplay_vector(vector<corda>fruits)

{

// Inicialitzar el comptador

intcomptador= 1;

// Iterar i imprimir els elements del vector mitjançant bucle

per (automàticell=fruits.començar();ell!=fruits.final();ell++)

{

// Comproveu que els elements siguin l'últim o no

si(comptador!=fruits.mida())

cost << *ell<< ',';

en cas contrari

cost << *ell;

// Incrementeu el comptador en 1

comptador++;

}

cost <<endl;

}

intprincipal(buit) {

// Declarar un vector de dades de cadenes

vector<corda>fruits= { 'Taronja','Plàtan','Mango','Jack Fruit','Lichi' };

// Imprimiu els valors existents del vector

cost << 'Els valors del vector abans de suprimir:' <<endl;

display_vector(fruits);

// Traieu el primer element del vector

fruits.esborrar(fruits.començar());

// Imprimiu els valors existents del vector després de suprimir-lo

cost << ' nEls valors del vector després d'eliminar: ' <<endl;

display_vector(fruits);

tornar 0;

}

Sortida:

La sortida següent apareixerà després d'executar el codi anterior.



Exemple-2: traieu diversos elements

Creeu un fitxer C ++ amb el codi següent per eliminar els múltiples elements del vector mitjançant la funció erase (). S'ha utilitzat un vector de valors enters al codi. Aquí s’han utilitzat dos iteradors per establir el rang d’elements eliminats del vector. La funció erase () s'ha utilitzat amb dos paràmetres per eliminar diversos elements del vector.

// Incloeu les biblioteques necessàries

#incloure

#incloure

utilitzant espai de nomshores;

// Mostra el vector

buitdisplay_vector(vector<int>nums)

{

// Imprimiu els valors del vector mitjançant bucle

per(automàticell=nums.començar();ell!=nums.final() ;ell++)

cost << *ell<< '';

// Afegeix una línia nova

cost << ' n';

}

intprincipal() {

// Declarar un vector de dades senceres

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

// Imprimiu els valors existents del vector

cost << 'Els valors del vector abans de suprimir:' <<endl;

display_vector(intArray);

// Declareu dos iteradors per eliminar l’interval d’elements del vector

vector<int> :: iteradorstartEle, endEle;

// Estableix l'iterador a la primera posició

startEle=intArray.començar();

// Incrementeu l'iterador inicial en 2

avançar(startEle,2);

// Estableix l'iterador a l'última posició

endEle=intArray.final();

// Disminueix l'iterador final per 3

avançar(endEle,-3);

// Elimineu l'interval d'elements

intArray.esborrar(startEle, endEle);

// Imprimiu els valors existents del vector després de suprimir-lo

cost << ' nEls valors del vector després d'eliminar: ' <<endl;

display_vector(intArray);

tornar 0;

}

Sortida:

La sortida següent apareixerà després d'executar el codi anterior. Segons l'abast dels iteradors, s'han eliminat els elements de la 3a posició a la 7a posició del vector.

Exemple-3: traieu els elements específics

Creeu un fitxer C ++ amb el codi següent per eliminar els elements específics del vector mitjançant la funció erase (). S'ha declarat al vector un vector de 7 elements enters. A continuació, s’ha utilitzat el bucle ‘for’ per iterar els elements vectorials i eliminar aquells elements del vector que no són divisibles per 5.

// Incloeu les biblioteques necessàries

#incloure

#incloure

utilitzant espai de nomshores;

intprincipal()

{

// Declarar un vector de dades senceres

vector<int>números= { 78,45,67,25,98,75,52 };

cost << 'Els valors del vector abans d'eliminar: n';

per (int const &jo:números) {

cost <<jo<< '';

}

cost <<endl;

// Traieu els números del vector que no siguin divisibles per 5

per (automàticell=números.començar();ell!=números.final();ell++)

{

// Comproveu que el nombre sigui divisible per 5 o no

si (*ell% 5 != 0)

{

// Traieu l'element basat en l'iterador

números.esborrar(ell-);

}

}

cost << 'Els valors del vector després d'eliminar: n';

per (int const &jo:números) {

cost <<jo<< '';


}


cost <<endl;


tornar 0;

}

Sortida:

La sortida següent apareixerà després d'executar el codi anterior. La sortida mostra que el vector només conté els elements divisibles per 5 i que s’han eliminat altres elements.

Conclusió:

En aquest tutorial s'han mostrat diferents usos de la funció erase () per eliminar elements vectorials. El C ++ té moltes altres funcions per eliminar l'element del vector, i aquestes funcions poden eliminar l'element únic alhora. Però es poden eliminar elements individuals i múltiples de qualsevol posició del vector mitjançant la funció vector erase ().