Dinamicas

Páginas: 14 (3495 palabras) Publicado: 24 de junio de 2012
ESTRUCTURAS DINÁMICAS DE DATOS


En función 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 más utilizadas son:

← PILAS
← COLAS
← LISTASPILAS


La pila es una lista de elementos caracterizada porque las operaciones de inserción y eliminación se realizan solamente en un extremo de la estructura. 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 más inaccesible de la pila, está en el fondo de la pila (bottom)y que k, por el contrario, el más accesible, está en la cima.
Las restricciones definidas para la pila implican que si una serie de elementos A,B,C,D,E se añaden, 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 razón, se dice que una pilaes una lista LIFO (Last In First Out, es decir, el último que entra es el primero que sale).
Un ejemplo típico de pila lo constituye un montón de platos, cuando se quiere introducir un nuevo plato, éste se pone en la posición más accesible, encima del último plato. Cuando se coge un nuevo plato, éste se extrae, igualmente, del punto más accesible, el último que se ha introducido.
Otro ejemplonatural de la aplicación de la estructura pila aparece durante la ejecución de un programa de ordenador, en la forma en que la máquina procesa las llamadas a los procedimientos. Cada llamada a un procedimiento (o función) hace que el sistema almacene toda la información asociada con ese procedimiento (parámetros, variables, constantes, dirección de retorno, etc..) de forma independiente a otrosprocedimientos y permitiendo que unos procedimientos puedan invocar a otros distintos (o a si mismos) y que toda esa información almacenada pueda ser recuperada convenientemente cuando corresponda. Como en un procesador sólo se puede estar ejecutando un procedimiento, esto quiere decir que sólo 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 su manipulación, é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.
• Añadirelementos a la cima.
• Eliminar elementos de la cima.
La especificación correcta de todas estas operaciones permitirá definir adecuadamente una pila.      Este tipo de estructuras se caracteriza porque todas las operaciones se realizan en 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
#include#include
#include

void insertar(void);
void extraer(void);
void visualizar(void);

struct pila
{
char nombre[20];
struct pila *ant;
}*CAB=NULL,*AUX=NULL;

main() /* Rellenar, extraer y visualizar */
{
char opc;
do
{
clrscr(); /* borramos la 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");
opc=getch( );
switch(opc)
{
case '1':
insertar( );
break;
case '2':
extraer( );
break;
case '3':
visualizar( );
}
}while (opc!='4');
}

void insertar(void)
{
AUX=(struct pila *)malloc(sizeof(struct pila));
clrscr();
printf("Nombre: ");...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Dinamicas
  • Dinamica
  • Dinamica
  • Dinamicas
  • Dinamicas
  • Dinamica
  • Dinamica
  • Dinamica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS