Cita: QUE ES LO QUE SUCEDE ACA=? PARA QUE ? POR QUE?y ese puntero? donde dice que ant tiene la direccion de memoria de "PiLA" si dicen que este tipo de estructura se redireccionan asi mismas...
creo q deberias reformular las preguntas, ser mas especifico
Mini explicacion: en las pilas las estructuras se ordenan tipo LIFO, osea ultimo en entrar primero en salir. Basicamente lo que hace el case 1 es ir insertando los nodos en la pila. ¿como? a traves de estas lineas:
Código C:
Ver originalactual->ant=ultimo; // aca se hace el enlace
ultimo=actual;
El puntero actual es donde se reserva memoria y donde se ingresa el nombre. Lo que hace actual en la primera linea es: "apunta(a traves de ant) a ultimo". En la segunda linea: "ultimo apunta a actual"
Ejemplo simple: supongamos q se ingresan estos nombre: cesar, vani y diego, en ese orden. En un principio ultimo apunta a NULL:
1º insertar (case 1)
2º se ingresa el nombre cesar en actual // lineas new y gets
3º actual(cesar) apunta a ultimo(NULL) // actual->ant=ultimo
4º ultimo apunta a actual(cesar) // ultimo=actual
La pila qda asi: NULL <- cesar // donde ultimo apunta a cesar
1º insertar (case 1)
2º se ingresa el nombre vani en actual // lineas new y gets
3º actual(vani) apunta a ultimo(cesar) // actual->ant=ultimo
4º ultimo apunta a actual(vani) // ultimo=actual
Pila: NULL <- cesar <- vani // donde ultimo apunta a vani
1º insertar (case 1)
2º se ingresa el nombre diego en actual // lineas new y gets
3º actual(diego) apunta a ultimo(cesar) // actual->ant=ultimo
4º ultimo apunta a actual(vani) // ultimo=actual
Pila: NULL <- cesar <- vani <- diego // donde ultimo apunta a diego
Creo q mas o menos ahi se entiende algo. Desarrollandolo de esta manera podes pensar el case 2. Igual te dejo este link, parece estar bueno y tiene graficos :)
http://es.kioskea.net/faq/2885-las-pilas-en-lenguaje-c
Saludos