Cola en lenguaje de programacion

Páginas: 5 (1061 palabras) Publicado: 11 de diciembre de 2014
Cola
Es una esructura muy utilizada e importante en el área de la programación, nos referimos a las estructuras de datos tipo Colas.

Por ejemplo cuando mandamos a impresión un documento, éste actúa en forma de cola, es decir; primera en entrar, primera en salir, o por sus siglas en inglés (First in, first out), ya que el primer documento que llega a la "Cola de Impresión", es el primerdocumento que es impreso.

Pero las colas, no sólo son usadas por las impresoras, sino también en la vida cotidiana tienen otras muchas aplicaciones, por ejemploel celular, cuando recibimos un mensaje de texto, éste es almacenado en un "lugar" (dentro del chip) que se comporta como cola; otro ejemplo son las colas de tareas en la pc, las colas de prioridades,etc.

Claro, estos ejemplosson muycomplejos y exigen que tengamos conocimientos de sistemas operativos (uso y creación), por tanto y para resguardar nuestra salud mental, no vamos a entrar en tanto detalle respecto a las aplicaciones complejas de las colas, sin embargo trataremos algunas abstracciones que nos ayudarán a comprender el funcionamiento de ésta estructura.

Concepto de Cola

Una cola, es una estructura en la cual sealmacenan elementos (en orden de llegada), es decir que, se ingresan los elementos por la parte final de la estructura y se eliminan (o se sirven) por la parte del frente.

Como puede observarse, ésta estructura cuenta con dos apuntadores, uno que apunta al último elemento y otro que apunta hacia el primer elemeto (o el elemento del frente).

Se debe tener en cuenta que, una cola, almacena losdatos en ella, manteniendo cierto orden, ya que sus elementos se añaden por el final de la cola y se extraen o se eliminan por la parte de frente.

El lector dispernsará el por que la insistencia de ello, pero cuando uno inicia este estudio, al momento de programar, se cunfe fácilmente, por que las sentencias de las funciones son muy parecidas a la de una pila, y en algunas ocaciones me pasaba queempezaba programando una cola, pero terminaba funcionando como pila.

Las operaciones con las colas son:

-insert (q, x)à Inserta el elemento x en la parte posterior de la cola q

-remove(q)à Suprime el elemento delantero de la cola q

-empty(q)à Retorna True o false, si la cola tiene elementos o no.

Las colas pueden implementarse, al igual que las pilas, mediante dos formas:Arrays

Memoria Dinámica

Tipo Cola Implementado como Arreglo







La figuara de arriba, muestra la forma de implementar una cola, como arreglo, en la que cada casilla, representa una estructura compuesta por el tipo de dato a guardar (o bien otra estructura).

Las variables q.rear y q.front, se van modificando cada vez que añadimos o eliminamos datos de nuestra cola.Para determinar la cantidad de elementos en cualquier momento es:

Cant=q.rear-q.front+1

Ahora vemos un ejemplo del funcionamiento de las colas, implementadas como arreglos:

Supongamos que en una cola vamos a almacenar elementos de tipo carácter.

Insert(&q, ‘A’);

q.rear=0, q.front=0

insert (&q, ‘B’)
q.rear=1

q.front=0

insert (&q, ‘C’);
q.rear=2

q.front=0

remove(&q);q.rear=2

q.front=1

remove(&q);


Colas implementadas con Memoria Dinámica

Para hacer uso de las colas, debemos declarar el nodo y los apuntadores de la cola, así:

typedef struct _nodo {

int dato;

struct _nodo *siguiente;

} tipoNodo;

typedef tipoNodo *pNodo;

typedef tipoNodo *Cola;

Donde, es evidente que, tipoNodo es el tipo de los nodos que compondrán la cola.pNodo es el tipo para declarar punteros a un nodo.

Cola es el tipo para declarar colas






Las operaciones, siguen siendo las mismas:

Añadir

Eliminar









Algoritmo Para Añadir elementos en la cola

Si la cola está vacía:

Puntero primero y puntero último deben apuntar a NULL

Creamos el nuevo nodo (con ayuda de malloc() )

Luego la parte...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Colas En Programacion
  • Colas De Programacion
  • Programacion de colas
  • Colas cierculares Lenguaje de programacion II
  • Lenguajes de programacion
  • Lenguajes de programacion
  • Lenguajes de programación
  • lenguaje de programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS