coals

Páginas: 25 (6050 palabras) Publicado: 6 de noviembre de 2014
En funcin de la forma en que se relacionan existen varios tipos de estructuras de datos. Este tipo de estructuras son autorreferenciadas, es decir, contienen entre sus campos un puntero de su mismo tipo. Las ms utilizadas son PILAS COLAS LISTAS PILAS La pila es una lista de elementos caracterizada porque las operaciones de insercin y eliminacin se realizan solamente en un extremo de laestructura. El extremo donde se realizan estas operaciones se denomina habitualmente cima (top en nomenclatura inglesa). Dada una pila P(a,b,c,...k), se dice que a, que es el elemento ms inaccesible de la pila, est en el fondo de la pila (bottom) y que k, por el contrario, el ms accesible, est en la cima. Las restricciones definidas para la pila implican que si una serie de elementos A,B,C,D,E se aaden,en este orden a una pila, entonces el primer elemento que se borre de la estructura deber ser el E. Por tanto, resulta que el ltimo elemento que se inserta en una pila es el primero que se borra. Por esta razn, se dice que una pila es una lista LIFO (Last In First Out, es decir, el ltimo que entra es el primero que sale). Un ejemplo tpico de pila lo constituye un montn de platos, cuando se quiereintroducir un nuevo plato, ste se pone en la posicin ms accesible, encima del ltimo plato. Cuando se coge un nuevo plato, ste se extrae, igualmente, del punto ms accesible, el ltimo que se ha introducido. Otro ejemplo natural de la aplicacin de la estructura pila aparece durante la ejecucin de un programa de ordenador, en la forma en que la mquina procesa las llamadas a los procedimientos. Cadallamada a un procedimiento (o funcin) hace que el sistema almacene toda la informacin asociada con ese procedimiento (parmetros, variables, constantes, direccin de retorno, etc..) de forma independiente a otros procedimientos y permitiendo que unos procedimientos puedan invocar a otros distintos (o a si mismos) y que toda esa informacin almacenada pueda ser recuperada convenientemente cuandocorresponda. Como en un procesador slo se puede estar ejecutando un procedimiento, esto quiere decir que slo es necesario que sean accesibles los datos de un procedimiento (el ltimo activado que est en la cima). De ah que la estructura pila sea muy apropiada para este fin. Como en cualquier estructura de datos, asociadas con la estructura pila existen una serie de operaciones necesarias para sumanipulacin, stas son Crear la pila. Comprobar si la pila est vacia. Es necesaria para saber si es posible eliminar elementos. Acceder al elemento situado en la cima. Aadir elementos a la cima. Eliminar elementos de la cima. La especificacin correcta de todas estas operaciones permitir definir adecuadamente una pila. Este tipo de estructuras se caracteriza porque todas las operaciones se realizanen el mismo lado. Es de tipo LIFO ( Last In First Out ), el ltimo elemento en entrar es el primero en salir. / Ejemplo de una pila. / include stdio.h include conio.h include stdlib.h include alloc.h void insertar(void) void extraer(void) void visualizar(void) struct pila char nombre20 struct pila ant CABNULL,AUXNULL main() / Rellenar, extraer y visualizar / char opc do clrscr() / borramosla pantalla / gotoxy(30,8) / columna 30, fila 8 / printf(1.- Insertar) gotoxy(30,10) printf(2.- Extraer) gotoxy(30,12) printf(3.- Visualizar la pila) gotoxy(30,14) printf(4.- Salir) opcgetch( ) switch(opc) case 1 insertar( ) break case 2 extraer( ) break case 3 visualizar( ) while (opc4) void insertar(void) AUX(struct pila)malloc(sizeof(struct pila)) clrscr() printf(Nombre ) gets(AUX-nombre) if (CABNULL) CABAUX AUX-antNULL else AUX-antCAB CABAUX void extraer(void) if (CABNULL) return AUXCAB CABCAB-ant free(AUX) void visualizar(void) if (CABNULL) return clrscr() AUXCAB while (AUXNULL) printf(Nombre sn,AUX-nombre) AUXAUX-ant getch( ) La estructura tipo que utilizaremos ser sta struct...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS