Page 269

4 Estructuras de datos: memoria din´amica

CC 2003, 2008 Andr´ es Marzal e Isabel Gracia

1. buscar el u ´ltimo elemento con un bucle y mantenerlo referenciado con un puntero auxiliar, digamos aux ; aux info

lista

sig

info

sig

8

3

2. pedir un nodo nuevo y mantenerlo apuntado con otro puntero auxiliar, digamos nuevo; aux info

lista

sig

info

3 info

nuevo

sig

8 sig

3. escribir en el nodo apuntado por nuevo el nuevo dato y hacer que su campo sig apunte a NULL; aux info

lista

sig

info

3 info

nuevo

sig

8 sig

2

4. hacer que el nodo apuntado por aux tenga como siguiente nodo al nodo apuntado por nuevo. aux info

lista

sig

info

3

info

nuevo

sig

8

sig

2

Lo que es equivalente a este otro gr´afico en el que, sencillamente, hemos reorganizado la disposici´ on de los diferentes elementos: aux lista

info

sig

3

info

sig

8

info

sig

2

nuevo Modifiquemos el u ´ltimo programa para expresar esta idea: 1 2 3

int main(void) { struct Nodo * lista = NULL, * aux , * nuevo ;

4 5 6 7 8 9 10

... aux = lista; while (aux ->sig != NULL) aux = aux ->sig; nuevo = malloc( sizeof (struct Nodo) ) ; nuevo->info = 2 ;

Introducci´ on a la Programaci´ on con C

263

Profile for esLibre.com

Introducción a la programación con c  

Introducción a la programación con c  

Advertisement