Función de borrado vectorial en C ++

Función de borrado vectorial en C ++

La matriz se utiliza para almacenar múltiples datos, y el número de elementos de la matriz no se puede cambiar en el momento de ejecución. Este problema se puede resolver utilizando un vector que funcione como una matriz dinámica. Existen diferentes funciones en la clase 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:

Dos tipos de sintaxis de esta función han dado a continuació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 es seguido por el último elemento borrado.

iterator borrador (iterator starting_position, iterator ending_position);

La función ERASE () anterior se usa para eliminar múltiples elementos del vector en función de la posición mencionada en los argumentos de esta función primero y segundo.

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 el código Visual Studio, instale las extensiones necesarias para compilar el código fuente de C ++ para crear el código ejecutable. Aquí, la aplicación de código de Visual Studio se ha utilizado para compilar y ejecutar el código C ++. Diferentes usos de la función ERASE () para insertar elementos en un vector se han mostrado a continuación.

Ejemplo-1: eliminar el elemento del primer elemento

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

// Incluye las bibliotecas necesarias
#incluir
#incluir
usando el espacio de nombres STD;
// Muestra los valores del vector
void display_vector (vector frutos)

// Inicializa el contador
int contador = 1;
// iterar e imprimir los elementos del vector usando el bucle
para (auto ele = frutas.comenzar(); ele != frutas.fin(); Ele ++)

// verificar los elementos es el último elemento o no
Si (contador != frutas.tamaño())
cout << *ele << ", ";
demás
cout << *ele;
// incrementa el contador por 1
contador ++;

cout << endl;

int main (void)
// declarar un vector de datos de cadena
vector Fruits = "naranja", "plátano", "mango", "jack fruta", "lichi";
// imprime los valores existentes del vector
cout << "The values of the vector before remove: " << endl;
display_vector (frutas);
// Eliminar el primer elemento del vector
frutas.borrar (frutas.comenzar());
// imprime los valores existentes del vector después de eliminar
cout << "\nThe values of the vector after remove: " << endl;
display_vector (frutas);
regresar 0;

Producción:

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

Ejemplo-2: eliminar múltiples 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. Se han utilizado dos iteradores aquí para establecer el rango de elementos eliminados del vector. La función ERASE () se ha utilizado con dos parámetros para eliminar múltiples elementos del vector.

// Incluye las bibliotecas necesarias
#incluir
#incluir
usando el espacio de nombres STD;
// Muestra el vector
void display_vector (vector nums)

// imprime los valores del vector usando bucle
para (auto ele = nums.comenzar(); ele != NUMS.fin() ; Ele ++)
cout << *ele << " ";
// Agregar nueva línea
cout << "\n";

int main ()
// declarar un vector de datos enteros
vector Intarray 678, 435, 960, 231, 800, 387, 634, 267, 409, 294;
// imprime los valores existentes del vector
cout << "The values of the vector before remove: " << endl;
display_vector (intarray);
// declarar dos iteradores para eliminar el rango de elementos del vector
vector :: Iterator Startele, Endele;
// Establecer el iterador en la primera posición
Startele = Intarray.comenzar();
// Incrementa el iterador inicial por 2
avance (Startele, 2);
// Establecer el iterador en la última posición
endele = Intarray.fin();
// disminuye el iterador final por 3
avance (endele, -3);
// eliminar el rango de elementos
entray.borrar (Startele, Endele);
// imprime los valores existentes del vector después de eliminar
cout << "\nThe values of the vector after remove: " << endl;
display_vector (intarray);
regresar 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 desde la tercera posición hasta la séptima 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 un vector de 7 elementos enteros en el código. A continuación, el bucle 'para' se ha utilizado para iterar los elementos vectoriales y eliminar esos elementos del vector que no son divisibles por 5.

// Incluye las bibliotecas necesarias
#incluir
#incluir
usando el espacio de nombres STD;
int main ()

// declarar un vector de datos enteros
vector números = 78, 45, 67, 25, 98, 75, 52;
cout << "The values of the vector before remove:\n";
para (int const & i: números)
cout << i << ";

cout << endl;
// Eliminar los números del vector que no son divisibles por 5
para (auto ele = números.comenzar(); ele != Números.fin(); Ele ++)

// verificar el número es divisible por 5 o no
if (*ele % 5 != 0)

// Eliminar el elemento según el iterador
números.borrar (ele--);


cout << "The values of the vector after remove:\n";
para (int const & i: números)
cout << i << ";

cout << endl;
regresar 0;

Producción:

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

Conclusión:

Se han mostrado diferentes usos de la función ERASE () en este tutorial para eliminar los elementos vectoriales. El C ++ tiene muchas otras funciones para eliminar el elemento del vector, y esas funciones pueden eliminar el elemento único a la vez. Pero los elementos individuales y múltiples de cualquier posición del vector se pueden eliminar utilizando la función vector e borradía ().