Función Vector Erase () en C ++

Vector Erase Function C



La matriz se usa para almacenar varios datos y la cantidad de elementos de la matriz no se puede cambiar en el tiempo de ejecución. Este problema se puede resolver utilizando un vector que funcione como una matriz dinámica. Existen diferentes funciones en la clase de vector para agregar y eliminar un elemento del vector. La función erase () se usa para eliminar uno o más elementos del vector en el tiempo de ejecución que disminuye el tamaño del vector. Los usos de esta función se han explicado en este tutorial.

Sintaxis:

A continuación se indican dos tipos de sintaxis de esta función.







borrar iterador(posición del iterador);

La función erase () anterior se usa para eliminar un solo elemento del vector, y devuelve un iterador, y apunta al elemento que está seguido por el último elemento borrado.



borrar iterador(posición_inicial del iterador, posición_final del iterador);

La función erase () anterior se utiliza para eliminar varios elementos del vector en función de la posición mencionada en el primer y segundo argumento de esta función.



Requisito previo:

Antes de verificar los ejemplos de este tutorial, debe verificar que el compilador g ++ esté instalado o no en el sistema. Si está utilizando Visual Studio Code, instale las extensiones necesarias para compilar el código fuente de C ++ para crear el código ejecutable. Aquí, la aplicación Visual Studio Code se ha utilizado para compilar y ejecutar el código C ++. A continuación se muestran diferentes usos de la función erase () para insertar elementos en un vector.





Ejemplo-1: eliminar el primer elemento elemento

Cree un archivo C ++ con el siguiente código para eliminar un elemento del principio del vector. Se ha utilizado un vector de valores de cadena en el código. Los valores del vector se han impreso antes y después de eliminar el primer elemento del vector usando la función borrar () con un parámetro.

// Incluir las bibliotecas necesarias

#incluir

#incluir

utilizando espacio de nombreshoras;

// Mostrar los valores del vector

vacíodisplay_vector(vector<cuerda>frutas)

{

// Inicializar el contador

En tencimera= 1;

// Iterar e imprimir los elementos del vector usando loop

por (autoél=frutas.empezar();él!=frutas.fin();él++)

{

// Verifica que los elementos sean el último elemento o no

si(encimera!=frutas.Talla())

costo << *él<< ', ';

demás

costo << *él;

// Incrementa el contador en 1

encimera++;

}

costo <<endl;

}

En tprincipal(vacío) {

// Declara un vector de datos de cadena

vector<cuerda>frutas= { 'Naranja','Banana','Mango','Fruta de Jack','Lichi' };

// Imprime los valores existentes del vector

costo << 'Los valores del vector antes de eliminar:' <<endl;

display_vector(frutas);

// Elimina el primer elemento del vector

frutas.borrar(frutas.empezar());

// Imprime los valores existentes del vector después de eliminar

costo << ' orteLos valores del vector después de eliminar: ' <<endl;

display_vector(frutas);

regreso 0;

}

Producción:

La siguiente salida aparecerá después de ejecutar el código anterior.



Ejemplo 2: eliminar varios elementos

Cree un archivo C ++ con el siguiente código para eliminar los múltiples elementos del vector usando la función erase (). Se ha utilizado un vector de valores enteros en el código. Aquí se han utilizado dos iteradores para establecer el rango de elementos eliminados del vector. La función erase () se ha utilizado con dos parámetros para eliminar varios elementos del vector.

// Incluir las bibliotecas necesarias

#incluir

#incluir

utilizando espacio de nombreshoras;

// Mostrar el vector

vacíodisplay_vector(vector<En t>nums)

{

// Imprime los valores del vector usando loop

por(autoél=nums.empezar();él!=nums.fin() ;él++)

costo << *él<< ' ';

// Agregar nueva línea

costo << ' orte';

}

En tprincipal() {

// Declara un vector de datos enteros

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

// Imprime los valores existentes del vector

costo << 'Los valores del vector antes de eliminar:' <<endl;

display_vector(intArray);

// Declara dos iteradores para eliminar el rango de elementos del vector

vector<En t> :: iteradorstartEle, endEle;

// Establece el iterador en la primera posición

sobresaltar=intArray.empezar();

// Incrementa el iterador inicial en 2

avance(startEle,2);

// Establece el iterador en la última posición

endEle=intArray.fin();

// Disminuir el iterador final en 3

avance(endEle,-3);

// Eliminar el rango de elementos

intArray.borrar(startEle, endEle);

// Imprime los valores existentes del vector después de eliminar

costo << ' orteLos valores del vector después de eliminar: ' <<endl;

display_vector(intArray);

regreso 0;

}

Producción:

La siguiente salida aparecerá después de ejecutar el código anterior. Según el rango de los iteradores, se han eliminado los elementos de la 3ª posición a la 7ª posición del vector.

Ejemplo 3: eliminar los elementos específicos

Cree un archivo C ++ con el siguiente código para eliminar los elementos específicos del vector usando la función erase (). Se ha declarado en el código un vector de 7 elementos enteros. A continuación, el ciclo 'for' se ha utilizado para iterar los elementos del vector y eliminar aquellos elementos del vector que no son divisibles por 5.

// Incluir las bibliotecas necesarias

#incluir

#incluir

utilizando espacio de nombreshoras;

En tprincipal()

{

// Declara un vector de datos enteros

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

costo << 'Los valores del vector antes de eliminar: orte';

por (En t constante &I:números) {

costo <<I<< ' ';

}

costo <<endl;

// Quita los números del vector que no son divisibles por 5

por (autoél=números.empezar();él!=números.fin();él++)

{

// Comprueba que el número sea divisible por 5 o no

si (*él% 5 != 0)

{

// Elimina el elemento basado en el iterador

números.borrar(él--);

}

}

costo << 'Los valores del vector después de eliminar: orte';

por (En t constante &I:números) {

costo <<I<< ' ';


}


costo <<endl;


regreso 0;

}

Producción:

La siguiente salida aparecerá después de ejecutar el código anterior. El resultado muestra que el vector contiene los elementos divisibles entre 5 solamente, y se han eliminado otros elementos.

Conclusión:

En este tutorial se han mostrado diferentes usos de la función erase () para eliminar elementos vectoriales. C ++ tiene muchas otras funciones para eliminar el elemento del vector, y esas funciones pueden eliminar un solo elemento a la vez. Pero tanto los elementos únicos como múltiples de cualquier posición del vector se pueden eliminar utilizando la función vector erase ().