miércoles, 27 de octubre de 2010

PILA Y COLA

PILA

Una pila es una especie de listado libre en el que únicamente se puede insertar o eliminar nodos en uno de los dos lados de la lista, es conocida como una estructura de datos que los reúne en un orden llamado LIFO (Last In First Out) significa que el ultimo en entrar es el primero en salir, un claro ejemplo puede ser cuando se encuentra un grupo de personas y ellas ingresan a un lugar muy estrecho donde el ultimo es el que sale de primeras.

Su forma de trabajar se conoce como (empujar, meter) y (tirar, sacar elementos) se representa de la forma push y pop, de forma binaria se trabaja la pila para convertirla en una estructura en donde siempre son insertados nodos y van remplazando al nodo anterior, manteniendo un informe para el nodo que le sigue, también nos ofrece la opción de recobrar los datos opuestos que son insertados y solo permite incluir platos en la parte superior de la pila determinando que solo se pueda coger del mismo punto;

Una pila tiene dos funciones importantes que es apilar y desapilar, consta de diversas opciones como lo son crear, Apilar, desapilar, cima o cumbre y vaciar. En los cuales yo puedo, añadir un elemento y se conoce como (push), puedo borrar un elemento, avisa cuando se encuentra vacía o en el caso contrario, para eliminar lo único que se debe hacer es apuntar el elemento con el puntero y si se desea se pueden utilizar variables y después de realizar cualquier operación en una pila si quiero puedo tener acceso a la información guardada de forma binaria,

Trabaja con dos funciones como lo son función de hoja y función de macro, utiliza un campo llamado tamaño que es el que maneja el numero de elementos de la pila sin importar la operación que en ella se baya a realizar.

-La función de marco cumple con varias condiciones como fijar el espacio de la pila, necesita de una entrada de la tabla de funciones permite guardar registros que no son variables, trabaja con otras funciones empleando un puntero, maneja un preámbulo con una conclusión para el manejo de espacio en la pila.

-En la función de hoja es todo lo contrario a la marco no puede llamar a otras funciones necesita de una entrada de la tabla de funciones, permite dejar sin formar la pila en el momento en que se ejecuta

La pila cuenta con un elemento para que pueda dirigirse hacia el, que se halla conformado por un campo denominado dato y un puntero llamado siguiente el cual hace que pueda entrar el siguiente elemento que debe ser de su mismo tipo de lo contrario no puede apuntar hacia el elemento para que se pueda llevar a cabo las operaciones. El elemento que se encuentra en la parte de arriba nos permite recuperar los datos que se encuentran en la parte mayor.

Las pilas nos son útiles para muchas cosas por ejemplo cuando trabajamos con operaciones matemáticas, con ventanas cuando tenemos una abierta y queremos ver la que ya habíamos cerrado, entre otras operaciones que nos facilitan mucho el trabajo y nos sirven para muchas otras cosas.

COLA

Una cola o Queue es un tipo de lista o estructura donde solo se pueden insertar elementos también llamados nodos en uno de sus extremos y solo se pueden eliminar del otro extremo.

Esta estructura es llamada también FIFO el cual significa (First In First Out) primero en entrar es el primero en salir.

En la cola solo se puede coger el primero y el ultimo elemento y así mismo solo se pueden eliminar respectivamente.

Las colas son utilizadas mayormente en sistemas informáticos y software

OPERACIONES

· Crear: se crea la cola vacía.

· Encolar: se añade un elemento a la cola, con su correspondiente prioridad.

· Desencolar: se elimina el elemento frontal de la cola.

· Frente: se devuelve el elemento frontal de la cola.

· Destruye: elimina la cola de memoria.[1]

 
   Queue: push ();
   Queue: pop ();
   Queue: empty ();
   Queue: back ();
   Queue: front ();
   Queue: size ();

TIPOS DE COLAS

Existen varios tipos de cola entre ellas tenemos

1 COLA DE PRIORIDAD

En esta cola como bien lo dice su nombre, se atienden los elementos de acuerdo a la prioridad que tienen y su orden.

Una de las características q tienen la cola de prioridad es que nos permite añadir elementos en cualquier orden y extraer al máximo.

2 BICOLA O DOBLE COLA

La característica de esta cola es que se pueden añadir y eliminar por ambos extremos. Se le llama DEQUE (Double Ended QUEue).

Una bicola con entrada restringida es la que solo permite añadir elementos por un solo extremo pero que aun así se pueden eliminar por ambos extremos.

Mientras una bicola con restricción en la salida es la que solo permite inserciones por los dos extremos pero puede eliminarse solo por un lado.

Una lista doblemente enlazada es una lista lineal en la que cada nodo tiene dos enlaces, uno al nodo siguiente, y otro al anterior.

COLAS CIRCULARES O ANILLO

Es cuando el último elemento es seguido por el primer elemento. Esto quiere decir que tiene un sucesor y un predecesor, forma un anillo o circulo.

Los elementos pueden añadirse y eliminarse solamente desde la cabeza del anillo.

ejemplos:

cola priory

#include

#include

#include

using namespace std;

void cola()

{

priority_queue c;

c.push(80);

c.push(1500);

c.push(800);

c.push(9);

c.push(20);

c.push(320);

c.push(5);

c.push(650);

c.push(13);

c.push(43);

c.push(110);

c.push(93);

while (! c.empty() )

{

cout <<>

c.pop();

}

cout <<>

}

int main(int argc, char *argv[])

{

cola();

system ("PAUSE");

return EXIT_SUCCESS;

}


ejemplo de queue.

#include
#include
#include

using namespace std;
int main (int argc, char *argv [ ])

 {
queue s;
for (int i='A'; i<= 'Z'; i++)
s.push (i) ;
while (! s.empty())

{ cout <<>
s.pop ();
} { cout <<>





ESCRITO POR:

CLAUDIA PADUA

VANESSA QUIÑONES