Lista de iterador C ++

Lista de iterador C ++
Una lista es una estructura de datos que contiene los elementos en forma de secuencia. Al igual que las matrices, también contiene a los miembros del mismo tipo de datos a la vez. En esta guía, aprenderemos sobre los iteradores en la lista en el lenguaje de programación C ++.

Iteradores

Un iterador actúa como un puntero que indica los elementos dentro de la lista. Los iteradores se utilizan principalmente para moverse a través de los datos dentro de una lista. Los iteradores también se utilizan para indicar la dirección de memoria de los contenedores. En este artículo, se explican algunas operaciones de iteradores.

Comenzar()

Esta función begin () tiene un iterador que se devuelve con el valor que muestra el primer elemento. Es bastante diferente de la función front () del iterador porque la función frontal devuelve una referencia, pero el comienzo () devuelve el iterador en sí mismo.

Fin()

Devuelve un iterador que apunta hacia el último elemento de la lista.

Avance()

Esta es una operación importante, ya que se utiliza para incrementar la posición del iterador al número especificado mencionado en el parámetro.

Próximo()

Esta función devuelve el nuevo iterador después de haber avanzado su posición, que se menciona en el argumento.

Prev ()

Esta es la función que se utiliza para traer el nuevo iterador que muestra el valor que se ha disminuido al número descrito en la lista.

Inserter ()

Esta es la función que se utiliza para insertar los nuevos elementos en cualquier posición en la lista. Tiene dos argumentos. Uno es el nombre del contenedor, y el otro es el puntero que muestra la posición en la que se insertarán el nuevo elemento o elementos.

Ejemplo 1

Begin (), end ()::

Este ejemplo contiene el código fuente para demostrar el funcionamiento de estas dos funciones. Como estamos aplicando estas funciones en la lista, la biblioteca para la lista se usa aquí en el primer paso.

#incluir

Luego, dentro del programa principal, declaramos una lista con 5 enteros.

Lista MyList 1,2,3,4,5;

Ahora queremos mostrar todo el contenido de la lista. Entonces se usa un bucle para. Como sabemos, un bucle for requiere un punto de inicio y finalización en la iniciativa de bucle para iniciar el bucle en la lista "mylist". La función begin () se usa aquí. Y al final, "Mylist. end () "se usa. 'mylist' es el objeto que se usa para acceder a la lista.

Se crea un iterador que comenzará y se moverá hasta el final incrementando en cada bucle. Para ejecutar el código fuente, use un compilador G ++ para la compilación y luego la ejecución del código. Vaya a la terminal de Linux y luego use los comandos citados a continuación.

archivo de archivo $ g ++ -o.C
ps ./archivo

El valor resultante contendrá todos los números que hemos ingresado en la lista a través del programa principal.

Ejemplo 2

Avance ():

Como se describió anteriormente, esta función se usa para incrementar el iterador a un número específico aprobado como argumento. Ahora considere el siguiente ejemplo en el que hemos aplicado una clase de iterador con la clase de lista para que todas las funciones de los iteradores puedan realizarse fácilmente.

Después de la declaración de una lista, el iterador se declara en la lista.

Lista iterador :: ptr = mylist.comenzar();

"PTR" es un objeto del iterador. A este iterador se le asigna la función begin (). Ahora necesitamos saltar hacia el punto particular, incrementaremos la posición del iterador hasta 2, y se realiza usando la función Advance ().

Avance (PTR, 2);

Esta función toma el objeto del iterador y el número para mostrar la posición donde queremos cambiar el iterador. Después de eso, se muestra la posición del iterador en ese punto. Por defecto, estaba en la primera posición; Al usar Advance, ahora será a las 3.

Guardar el código fuente en el archivo y luego ejecutarlo para ver los valores ejecutados.

Ejemplo 3: Next (), prev ()

Ambos iteradores se devuelven con el valor cuando el iterador se incrementa y una vez que el iterador está disminuido. Las posiciones se mencionan en el argumento, ya que se describen de antemano () Parámetro de la función. Después de usar las bibliotecas dentro del programa principal, la lista se declara primero en el ejemplo. Después de eso, los iteradores se crean y luego se declaran a la lista. Se crean dos iteradores separados con diferentes objetos de puntero de iterador para ambas funciones.

Primero, utilizaremos el próximo iterador que devolverá el nuevo iterador que apunta hacia 4.

Auto it = next (ptr, 3);

El iterador se genera automáticamente y llamará a la siguiente función con el puntero y el número que queremos que se incrementa el iterador. Entonces, al igual que la función Advance (), el iterador se incrementará hacia la posición dada. Ahora el siguiente paso es usar la función prev (). El previo () también contendrá el puntero del objeto creado anteriormente y el número que regresará. Esta función devolverá un nuevo iterador que apuntará hacia 3.

Auto it1 = prev (ftr, 3);

Al final, mostraremos la posición de los nuevos iteradores en ambos casos. Ambos valores se muestran utilizando los punteros, ya que almacenan las posiciones en la lista. Compile el código, y luego verá que tanto las funciones de los iteradores anteriores () como el siguiente () muestran los valores en la lista a través del compilador.

Ejemplo 4

Inserter ()

Como hemos explicado anteriormente, esta función inserta el nuevo valor en cualquier posición en la lista. Entonces, ahora, en el ejemplo, primero declare una lista con 3 números de enteros.

En Inster (), podemos insertar un solo número y una lista de números. Entonces, en este ejemplo, insertaremos una lista de tres números dentro de la lista que hemos creado anteriormente. Crear un iterador y luego declararlo en la lista que hemos creado. Como tenemos que insertar la nueva lista en un lugar específico, necesitamos incrementar el iterador en esa posición. Y esto se hace usando el iterador avanzado ().

Avance (PTR, 2);

Incrementará el iterador a la segunda posición; Significa que después de las 2, la nueva lista se insertará. Entonces, con la ayuda de objetos, los elementos de una lista se copiarán en la segunda lista. Usaremos una función de copia aquí.

Copia (AR1.begin (), ar1. end (), inserter (ar, ptr));

La función de copia utilizará el begin () y final (), para comenzar a copiar los elementos desde el inicio de la segunda lista y seguir copiando hasta el final de la lista. La función del inserter toma el objeto de la primera lista y el objeto iterador para señalar la posición donde se debe insertar la lista.

Para mostrar todos los elementos, usaremos un bucle for para.

Los valores resultantes que se obtienen de la ejecución del código anterior muestran que la primera lista contiene los números de ambas listas.

Conclusión

'List Iterator C' es el artículo que contiene la información sobre los tipos de artículos que aplicamos a la lista. Todas estas operaciones se explican con la descripción básica. También hemos citado algunos ejemplos para cada función del iterador. Estos ejemplos se implementan en el sistema operativo Linux utilizando el editor de texto y el terminal de Linux.