Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/06/2012, 01:13
cesar_casla
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 10 meses
Puntos: 94
Respuesta: aprendiendo pilas colas parte 2

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 original
  1. actual->ant=ultimo; // aca se hace el enlace
  2. 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