miércoles, 15 de noviembre de 2017

LA PILA Y COLA


¿QUE ES UNA PILA?

Las pilas son estructuras de datos que tienes dos operaciones básicas: push (para insertar un elemento) y pop (para extraer un elemento). Su característica fundamental es que al extraer se obtiene siempre el último elemento que acaba de insertarse. Por esta razón también se conocen como estructuras de datos LIFO (del inglés Last In First Out). Una posible implementación mediante listas enlazadas sería insertando y extrayendo siempre por el principio de la lista. Gracias a las pilas es posible el uso de la recursividad (lo veremos en detalle en el tema siguiente). La variable que llama al mismo procedimiento en el q está, habrá que guardarla así como el resto de variables de la nueva llamada, para a la vuelta de la recursividad ir sacandolas, esto es posible a la implementación de pilas.


struct nodo {
   int dato;
   struct nodo *siguiente;
};


DECLARACIONES DE TIPOS PARA MANEJAR PILA EN LENGUAJE C

tipos que definiremos normalmente para manejar pilas serán casi los mismos que para manejar listas, tan sólo cambiaremos algunos nombres:

typedef struct _nodo {
   int dato;
   struct _nodo *siguiente;
} tipoNodo;

typedef tipoNodo *pNodo;
typedef tipoNodo *Pila; 

¿QUE ES UNA COLA?

Una cola  es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.

Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas.

struct nodo {
   int dato;
   struct nodo *siguiente;
};

 DECLARACIONES DE TIPOS PARA MANEJAR COLA EN LENGUAJE C

 typedef struct _nodo {
   int dato;
   struct _nodo *siguiente;
} tipoNodo;

typedef tipoNodo *pNodo;
typedef tipoNodo *Cola;

SEMEJANZAS Y DIFERENCIAS 

Pila: que la pila es el ultimo que entra y es el primero que sale y las pilas son el dato que pueden entrar por cualquier lado.

Cola: Que es el primero que entra y tambien es el primero en salir y entra por un lado y sale por el mismo lado que este ha ingresado.




No hay comentarios:

Publicar un comentario