Función de borrado de vectores() en C++

Funcion De Borrado De Vectores En C



La matriz se utiliza 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 utiliza 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 detallan dos tipos de sintaxis de esta función.







borrar iterador ( posición del iterador ) ;

La función erase() anterior se utiliza para eliminar un solo elemento del vector, devuelve un iterador y apunta al elemento seguido del último elemento borrado.



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

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



Requisito previo:

Antes de consultar 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++ y crear el código ejecutable. Aquí, se ha utilizado la aplicación Visual Studio Code 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

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

//Incluir las bibliotecas necesarias

#incluir

#incluir

usando espacio de nombres enfermedad de transmisión sexual ;

//Mostrar los valores del vector

vacío vector_visualización ( vector < cadena > frutas )

{

        //Inicializa el contador

        En t encimera = 1 ;

        //Itera e imprime los elementos del vector usando loop

        para ( auto él = frutas. comenzar ( ) ; él ! = frutas. fin ( ) ; él ++ )

        {

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

                si ( encimera ! = frutas. tamaño ( ) )

                        corte << * él << ', ' ;

                demás

                        corte << * él ;

                //Incrementa el contador en 1

encimera ++ ;

        }

        corte << fin ;

}

En t principal ( vacío ) {

        //Declarar un vector de datos de cadena

vector < cadena > frutas = { 'Naranja' , 'Banana' , 'Mango' , 'Jaca fruta' , Lychee } ;

        //Imprime los valores existentes del vector.

        corte << 'Los valores del vector antes de eliminar: ' << fin ;

vector_visualización ( frutas ) ;

        //Eliminamos el primer elemento del vector

frutas. borrar ( frutas. comenzar ( ) ) ;

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

        corte << ' \norte Los valores del vector después de eliminar: ' << fin ;

vector_visualización ( frutas ) ;

        devolver 0 ;

}

Producción:

El siguiente resultado 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(). En el código se ha utilizado un vector de valores enteros. 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 múltiples elementos del vector.

//Incluir las bibliotecas necesarias

#incluir

#incluir

usando espacio de nombres enfermedad de transmisión sexual ;

//Mostrar el vector

vacío vector_visualización ( vector < En t > números )

{

        //Imprime los valores del vector usando loop

        para ( auto él = números. comenzar ( ) ; él ! = números. fin ( ) ; él ++ )

              corte << * él << ' ' ;

        //Añadir nueva línea

        corte << ' \norte ' ;

}

En t principal ( ) {

        //Declarar 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.

        corte << 'Los valores del vector antes de eliminar: ' << fin ;

vector_visualización ( intArray ) ;

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

vector < En t > :: iterador iniciarEle, finalizarEle ;

        //Establece el iterador en la primera posición

empezarlos = intArray. comenzar ( ) ;

        //Incrementa el iterador inicial en 2

avance ( iniciarlos, 2 ) ;

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

finalEle = intArray. fin ( ) ;

        //Disminuye el iterador final en 3

avance ( finalEle, - 3 ) ;

        //Eliminar el rango de elementos

intArray. borrar ( iniciarEle, finalizarEle ) ;

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

        corte << ' \norte Los valores del vector después de eliminar: ' << fin ;

vector_visualización ( intArray ) ;

        devolver 0 ;

}

Producción:

El siguiente resultado aparecerá después de ejecutar el código anterior. Según el rango de los iteradores, se han eliminado los elementos desde 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(). En el código se ha declarado un vector de 7 elementos enteros. A continuación, el bucle 'for' se utiliza para iterar los elementos del vector y eliminar aquellos elementos del vector que no son divisibles por 5.

//Incluir las bibliotecas necesarias

#incluir

#incluir

usando espacio de nombres enfermedad de transmisión sexual ;

En t principal ( )

{

        //Declarar un vector de datos enteros

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

        corte << 'Los valores del vector antes de eliminar: \norte ' ;

        para ( En t constante & i : números ) {

        corte << i << ' ' ;

        }

        corte << fin ;

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

        para ( auto él = números. comenzar ( ) ; él ! = números. fin ( ) ; él ++ )

        {

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

                si ( * él % 5 ! = 0 )

                {

                        //Elimina el elemento según el iterador

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

                }

        }

        corte << 'Los valores del vector después de eliminar: \norte ' ;

        para ( En t constante & i : números ) {

                corte << i << ' ' ;


        }


        corte << fin ;


        devolver 0 ;

}

Producción:

El siguiente resultado aparecerá después de ejecutar el código anterior. El resultado muestra que el vector contiene los elementos divisibles por 5 únicamente y que se han eliminado otros elementos.

Conclusión:

En este tutorial se muestran 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 elementos únicos como múltiples de cualquier posición del vector se pueden eliminar utilizando la función vector erase().