09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

364 Capítulo 17. Estructuras de datos recursivas<br />

un nuevo elem<strong>en</strong>to sobre la pila (que se suele llamar push), y la eliminación del<br />

elem<strong>en</strong>to superior de la pila (también llamada pop). 2<br />

Creación de una pila vacía<br />

El primer procedimi<strong>en</strong>to que consideramos es el de crear una pila vacía. La<br />

idea es bi<strong>en</strong> simple: sólo hay que asignar el valor nil a su puntero.<br />

procedure CrearPila(var pila: tPila);<br />

{PostC.: pila es una pila vacía}<br />

begin<br />

pila:= nil<br />

<strong>en</strong>d; {CrearPila}<br />

Averiguar si una pila está vacía<br />

Se trata s<strong>en</strong>cillam<strong>en</strong>te de la sigui<strong>en</strong>te función<br />

function EsPilaVacia(pila: tPila): boolean;<br />

begin<br />

EsPilaVacia:= pila = nil<br />

<strong>en</strong>d; {EsPilaVacia}<br />

Consulta de la cima de una pila<br />

Una función especialm<strong>en</strong>te importante es la que permite consultar el cont<strong>en</strong>ido<br />

del primer nodo de la pila. En esta implem<strong>en</strong>tación sólo hay que leer el<br />

campo cont<strong>en</strong>ido del primer nodo de la pila. La función ti<strong>en</strong>e como argum<strong>en</strong>to<br />

una variable de tipo tPila y como rango el tipo de sus elem<strong>en</strong>tos tElem. Está<br />

implem<strong>en</strong>tada a continuación bajo el nombre de Cima.<br />

function Cima(pila: tPila): tElem;<br />

{PreC.: pila no está vacía}<br />

{Dev. el cont<strong>en</strong>ido del primer nodo de pila}<br />

begin<br />

Cima:= pila^.cont<strong>en</strong>ido<br />

<strong>en</strong>d; {Cima}<br />

2 Los nombres de estas funciones proced<strong>en</strong> de los verbos usados <strong>en</strong> inglés para colocar o coger<br />

objetos apilados.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!