Академический Документы
Профессиональный Документы
Культура Документы
Enunciado
Dado un conjunto de elementos: 5, 8, 2, 9, 6; crear una estructura que permita enlazar los
elementos de la siguiente manera.
5 8 2 9 6
Ing. Manuel Sucunuta – UTPL – Escuela de Ciencias de la Computación Página 1
1. De acuerdo al gráfico para cada elemento se necesitan de dos campos, uno para
almacenar el valor (5, 8, …) y otro para almacenar la dirección del siguiente elementos
por lo que es necesario definir la estructura tipo puntero que contendrá dos campos, la
definición sería:
2. Es necesario que una variable apuntador que siempre apunte al primer elemento de la
lista, y otra variable permita recorrer la lista para ir enlazado. En la línea 13 se define
estas dos variables. Además en la línea 14 se define una variable contador para
controlar el ingreso de la cantidad de términos.
3. En la línea 15 se crea el primer elemento de la lista y se asigna al puntero a Cabeza.
CrearNodo() es una función que permite crear el nodo y que se la llama cada vez que
se desea ingresar un nuevo elemento a la lista. Quedando la lista de la siguiente
forma:
Cabeza 5
4. Luego en la línea 16 se asigna a Siguiente la dirección de memoria creada, esto para
recorrer la lista. Quedando de la siguiente forma:
Cabeza 5
Siguiente
Considere que la función CrearNodo() retorna la dirección del puntero creado por
tanto: en el campo Dato se encuentra el valor 5, y en el campo Enlace por el momento
el valor NULL, este valor cambiará cuando se cree un nuevo elemento.
5. Desde la línea 17 a la 20 está el bucle for que se ejecuta 4 veces, y sirve para ingresar
desde el segundo hasta el quinto elemento de la lista.
Ing. Manuel Sucunuta – UTPL – Escuela de Ciencias de la Computación Página 2
6. Con la instrucción de la línea 18 se
realiza el enlace con el siguiente elemento. Considere que en el paso 4 el puntero
Siguiente apunta al primer elemento de la lista y a la primera interacción del for, se
enlaza el segundo elemento de la lista, por cuanto la función CrearNodo(i) retorna una
dirección de memoria que se almacena en el campo Enlace. Quedando la lista de la
siguiente forma.
Cabeza 5 8
Siguiente
7. Con la instrucción de la línea 19 el
puntero Enlace apunta elemento insertado, esto con el fin de enlazar con el siguiente
elemento. Tome en cuenta que el puntero Cabeza siempre apuntará al primer
elemento de la lista.
Cabeza 5 8
Siguiente
Para la segunda interacción, la lista es:
Cabeza 5 8 2
Siguiente
Y así el proceso continúa hasta el último elemento.
8. En la línea 22 se invoca al procedimiento Presentar(Cabeza) y se envía como
parámetro la dirección del primer elemento de la lista a través del apuntador Cabeza.
Ing. Manuel Sucunuta – UTPL – Escuela de Ciencias de la Computación Página 3
FUNCION PRESENTAR NODO
15. A partir de la línea 41 a la 46 se presenta el procedimiento para presentar cada
elemento de la lista. Se recibe como parámetro en puntero p cuya dirección apunta al
primer elemento de la lista.
16. En la línea 42 se ejecuta el ciclo repetitivo cuya condición es verdadera mientras el
punto p no apunte a NULL, el último elemento de la lista. Con la sentencia
el puntero p recorrerá cada elemento de la lista.
Ing. Manuel Sucunuta – UTPL – Escuela de Ciencias de la Computación Página 4