nalicemos las distintas partes de este programa8 class Nodo { public int ino; public Nodo sig; ! pri"ate Nodo rai#; Para declarar un nodo debemos utili#ar una clase. )n este caso la inormacinimos de tipo public. Tambi?n de>nimos un puntero de tipo Nodo llamado rai#. )ste puntero tiene la direcci
2
Unidad 2:
)structuras din/micas de datos
public "oid 'nsertar$int x% { Nodo nue"o; nue"o & ne( Nodo$%; nue"o.ino & x; i $rai# && null% { nue"o.sig & null; rai# & nue"o; ! else { nue"o.sig & rai#; rai# & nue"o; ! ! Ano de los m?todos m/s importantes que debemos entender en una pila es el de 'nsertar un elemento en la pila. l m?todo llega la inormacinicicamente podemos obser"ar que cuando indicamos rai#&nue"o= el puntero rai# guarda la direcci
3
Unidad 2:
)structuras din/micas de datos
Tener en cuenta que cuando >nali#a la eecuci
4
Unidad 2:
)structuras din/micas de datos
el nodo que pre"iamente estaba apuntado por rai# es eliminado autom/ticamente= al no tener ninguna reerencia. 9etornamos la inormacicamente el maneo de las listas. La interpretacica nos permitir/ plantear inicialmente las soluciones para el maneo de listas. pila Por Eltimo expliquemos el m?todo para recorrer una lista en orma completa e imprimir la inormacinimos un puntero auxiliar reco y 0acemos que apunte al primer nodo de la lista8 Nodo reco&rai#; Bisponemos una estructura repetiti"a que se repetir/ mientras reco sea distinto a null. Bentro de la estructura repetiti"a 0acemos que reco a"ance al siguiente nodo8 (0ile $reco*&null% { Console.-rite$reco.ino2%; reco&reco.sig; ! )s muy importante entender la l@nea8 reco&reco.sig; )stamos diciendo que reco almacena la direccicamente8 pila l anali#arse la condici
5
Unidad 2:
)structuras din/micas de datos
La condicinal de la lista $9ecordar que el Eltimo nodo de la lista tiene almacenado en el puntero sig el "alor null= con el obeti"o de saber que es el Eltimo nodo% Para poder probar esta clase recordemos que debemos de>nir un obeto de la misma y llamar a sus m?todos8 static "oid +ain$string34 args% { Pila pila1&ne( Pila$%; pila1.'nsertar$15%; pila1.'nsertar$65%; pila1.'nsertar$7%; pila1.'mprimir$%; Console.-riteLine$)xtraemos de la pila8pila1.)xtraer$%%; pila1.'mprimir$%; Console.9ead:ey$%; ! 'nsertamos 7 enteros= luego imprimimos la pila= extraemos uno de la pila y >nalmente imprimimos nue"amente la pila.