Funció d'esborrat vectorial () en C++

Funcio D Esborrat Vectorial En C



La matriu s'utilitza per emmagatzemar diverses dades i el nombre d'elements de la matriu no es pot canviar en temps d'execució. Aquest problema es pot resoldre utilitzant un vector que funcioni com una matriu dinàmica. Existeixen diferents funcions a la classe vectorial 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ó s'han donat dos tipus de sintaxis d'aquesta funció.







esborrat per 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 va seguit de l'últim element esborrat.



esborrat per iterador ( posició_inici de l'iterador, posició_final de l'iterador ) ;

La funció erase() anterior s'utilitza per eliminar diversos elements del vector en funció de la posició esmentada al 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 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: elimina el primer element de l'element

Creeu un fitxer C++ amb el codi següent per eliminar un element del principi 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.

//Inclou les biblioteques necessàries

#inclou

#inclou

utilitzant espai de noms std ;

//Mostra els valors del vector

buit mostrar_vector ( vector < corda > fruites )

{

//Inicialitzar el comptador

int comptador = 1 ;

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

per ( automàtic ell = fruites. començar ( ) ; ell ! = fruites. final ( ) ; ell ++ )

{

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

si ( comptador ! = fruites. mida ( ) )

cout << * ell << ', ' ;

altra cosa

cout << * ell ;

//Incrementa el comptador en 1

comptador ++ ;

}

cout << endl ;

}

int principal ( buit ) {

//Declara un vector de dades de cadena

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

//Imprimeix els valors existents del vector

cout << 'Els valors del vector abans d'eliminar: ' << endl ;

mostrar_vector ( fruites ) ;

//Elimineu el primer element del vector

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

//Imprimeix els valors existents del vector després d'eliminar

cout << ' \n Els valors del vector després d'eliminar: ' << endl ;

mostrar_vector ( fruites ) ;

tornar 0 ;

}

Sortida:

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



Exemple 2: elimina 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.

//Inclou les biblioteques necessàries

#inclou

#inclou

utilitzant espai de noms std ;

//Mostra el vector

buit mostrar_vector ( vector < int > nombres )

{

//Imprimeix els valors del vector mitjançant bucle

per ( automàtic ell = nombres. començar ( ) ; ell ! = nombres. final ( ) ; ell ++ )

cout << * ell << ' ' ;

//Afegeix una nova línia

cout << ' \n ' ;

}

int principal ( ) {

//Declara un vector de dades enteres

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

//Imprimeix els valors existents del vector

cout << 'Els valors del vector abans d'eliminar: ' << endl ;

mostrar_vector ( intArray ) ;

//Declarar dos iteradors per eliminar el rang d'elements del vector

vector < int > :: iterador startEle, endEle ;

// Estableix l'iterador a la primera posició

començar-los = intArray. començar ( ) ;

//Incrementa l'iterador inicial en 2

avançar ( començar-los, 2 ) ;

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

fi Ele = intArray. final ( ) ;

//Disminueix l'iterador final en 3

avançar ( fi Ele, - 3 ) ;

//Elimineu el rang d'elements

intArray. esborrar ( startEle, endEle ) ;

//Imprimeix els valors existents del vector després d'eliminar

cout << ' \n Els valors del vector després d'eliminar: ' << endl ;

mostrar_vector ( intArray ) ;

tornar 0 ;

}

Sortida:

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

Exemple-3: elimina 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 un vector de 7 elements enters al codi. A continuació, el bucle 'for' s'ha utilitzat per iterar els elements vectorials i eliminar aquells elements del vector que no són divisibles per 5.

//Inclou les biblioteques necessàries

#inclou

#inclou

utilitzant espai de noms std ;

int principal ( )

{

//Declara un vector de dades enteres

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

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

per ( int const & i : nombres ) {

cout << i << ' ' ;

}

cout << endl ;

//Elimineu del vector els nombres que no són divisibles per 5

per ( automàtic ell = nombres. començar ( ) ; ell ! = nombres. final ( ) ; ell ++ )

{

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

si ( * ell % 5 ! = 0 )

{

//Elimineu l'element basat en l'iterador

nombres. esborrar ( ell -- ) ;

}

}

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

per ( int const & i : nombres ) {

cout << i << ' ' ;


}


cout << endl ;


tornar 0 ;

}

Sortida:

La següent sortida apareixerà després d'executar el codi anterior. La sortida mostra que el vector conté només els elements divisibles per 5 i 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ò els elements únics i múltiples de qualsevol posició del vector es poden eliminar mitjançant la funció vector erase().