You are on page 1of 5

Universidad Fermn Toro Vicerrectorado Acadmico Facultad de Ingeniera en Computacin Cabudare-Edo Lara

Integrantes: Luis Oviedo CI: 21.142.082 Rosie Andara CI: 21.126.063

Que son pilas?

Es una coleccin de datos a los cuales se les puede acceder mediante un extremo, que se conoce generalmente como tope. Representa una estructura lineal de datos en la que se puede agregar o quitar elementos nicamente por uno de los dos extremos. Los elementos de una pila se eliminan en el orden inverso al que se insertaron. Presenta la Estructura LIFO (last input, first output). Es decir, ltimo en entrar primero en salir. Casos prcticos en los que se utiliza la idea de pila: Ejemplo; pila de platos, en el supermercado latas. Las pilas con estructuras lineales como los arreglos, ya que sus componentes ocupan lugares sucesivos en la ED y c/u tienen un nico sucesor/predecesor, con excepcin del primero/ltimo.

Representacin de Pilas: Las pilas no son estructuras fundamentales de datos; es decir no estn definidas como tales en los lenguajes de programacin. Para su representacin requieren de otras EDs, como: Arreglos Listas

Operaciones bsicas: Agregar o insertar en la pila(Push) Quitar o Eliminar en la pila(pop) Pila llena (tiene elementos) Pila Vaca(no tiene elementos)

Si un programa intenta sacar elementos de un pila vaca ocurrir un error e operacin o desbordamiento negativo (underflow). Y si intenta agregar en una pila llena ocurrir desbordamiento u overflow. Por eso, existen las operaciones de pila llena y pila vaca.

Como ejemplo de manejo de pilas hablaremos sobre las listas entrelazadas, pero primero vamos a definir lo que es un nodo: Un nodo es una estructura de datos que contiene dos campos, un campo que almacena el dato (dato primitivo u objeto) y otro campo denominado enlace que almacena la referencia al prximo nodo Una lista enlazada es un conjunto lineal de objetos de una clase llamada Nodo. Una lista enlazada se accesa por medio de una referencia al primer nodo de la lista, generalmente llamado cab. Los nodos subsiguientes se accesan por medio del campo de enlace que est almacenado en cada Nodo. Por convencin el enlace del ltimo nodo de la lista se establece a null para marcar el final de la lista. En una lista enlazada, los datos se almacenan dinmicamente y cada nodo se crea conforme se necesita. Las listas de datos pueden almacenarse en arreglos, pero las listas enlazadas proporcionan varias ventajas. Una lista enlazada es adecuada cuando es impredecible el nmero de datos a almacenar en la estructura. Las listas enlazadas pueden mantenerse de forma ordenada simplemente insertando cada nuevo dato en el punto adecuado de la lista sin necesidad de mover los elementos existentes en la lista. Las listas enlazadas tienen la desventaja que por cada dato de la lista requiere de un espacio de memoria para el enlace al prximo dato, adicionalmente la asignacin dinmica de memoria incurre en la sobrecarga de llamadas a funcin a diferencia del acceso a un elemento de un arreglo, que se realiza directamente calculando la posicin del elemento con respecto a la direccin de inicio del arreglo. Clasificacin Las listas enlazadas se clasifican en: Listas enlazadas simples, doblemente enlazadas, circulares simplemente enlazadas y circulares doblemente enlazadas.

Operaciones bsicas:
Recorrido, Bsqueda, Insercin al Principio, Insercin despus de UN Nodo Determinado, Insercin Ordenada, Eliminacin por Bsqueda, Ejemplo: Recorrido:

Despliega los datos almacenados en el arreglo Info, con ayuda de un segundo arreglo llamado ndice el cual guarda el orden en el que encuentran enlazados cada uno de los datos. Explicacin: Apuntador toma el valor de Inicio, despus ve si la condicin cumple para efectuar un Ciclo mientras Apuntador sea diferente de 0, si cumple lo que hace es que despliega la Info[Apuntador], despus Apuntador toma el valor de ndice[Apuntador] (El cual nos indica el siguiente nodo que sigue en la lista) y hace esto hasta que Apuntador sea igual a 0 (Cuando llega a este punto a llegado al fin de la Lista Enlazada). Algoritmo: Recorrido (Inicio, Info, ndice) Apuntador - Inicio Repetir mientras Apuntador Nill Imprimir Info [Apuntador] Apuntador - ndice [Apuntador] Fin del ciclo Salir

Diagrama

You might also like