Educativos

Solo disponible en BuenasTareas
  • Páginas : 13 (3221 palabras )
  • Descarga(s) : 0
  • Publicado : 5 de septiembre de 2010
Leer documento completo
Vista previa del texto
Introducción
A continuación se presenta una estructura dinámica como es cola, Según plantean algunos autores las colas son una estructura similar a las pilas, ya que las mismas funcionan en un depósito en donde se insertan y se retiran elementos por el mismo extremo. En las colas sucede algo diferente, se inserta elementos por un extremo y se retiran elementos por el otro extremo. Dehecho a este tipo de dispositivo se les conoce como dispositivos “fifo” (first in, first out) porque funcionan como una tubería, lo que entra primero por un extremo, sale primero por el otro extremo.

Es importante acotar que en una cola existen dos extremos, uno es llamado la parte delantera el otro extremo se llama la parte trasera de la cola. Y por ultimo se señala que en una cola loselementos se retiran por la parte delantera y se agregan por la parte trasera. Además, como sucede con las pilas, las escrituras de datos siempre son inserciones de nodos, y las lecturas siempre eliminan el nodo leído
El símil cotidiano es una cola para comprar, por ejemplo, las entradas del cine. Los nuevos compradores sólo pueden colocarse al final de la cola, y sólo el primero de la colapuede comprar la entrada.

Colas

Las colas son una estructura de datos similar a las pilas. Recordemos que las pilas funcionan en un depósito en donde se insertan y se retiran elementos por el mismo extremo. En las colas sucede algo diferente, se insertan elementos por un extremo y se retiran elementos por el otro extremo. De hecho a este tipo de dispositivos se les conoce comodispositivos ``fifo'' (first in, first out) porque funcionan como una tubería, lo que entra primero por un extremo, sale primero por el otro extremo.
En una cola hay dos extremos, uno es llamado la parte delantera y el otro extremo se llama la parte trasera de la cola. En una cola, los elementos se retiran por la parte delantera y se agregan por la parte trasera.
|[pic]|
|Figura 15: Dinámica de una cola. a) estado actual con una cola con tres elementos a,b,c; b) estado de la cola cuando se agrega |
|el elemento d; c) estado de la cola cuando se elimina el elemento a del frente de la cola |

En la figura 15 se muestra una actividadtípica de la cola, en donde se muestra que se agregan datos por la parte trasera de la cola y se eliminana datos por el frente de la cola.
Si [pic]es una cola y [pic]es un elemento, se pueden hacer tres operaciones básicas con las colas:
1. insert(Q,x), que inserta el elemento x en la parte trasera de la cola Q.
2. x=remove(Q), que almacena en x el valor del elemento retirado de la partefrontal de la cola Q.
3. empty(Q), que es un predicado de valor booleano, y es [pic]cuando la cola Q tiene 0 elementos, y es [pic]cuando la cola Q tiene al menos un elemento, en cuyo caso, ese único elemento es la parte frontal y la parte trasera de la cola al mismo tiempo.
Teóricamente no hay límite para el tamaño de la cola, asi que siempre se debería poder insertar elementos a una cola,sin embargo, al igual que las pilas, normalmente se deja un espacio de memoria para trabajar con esta estructura. Por el contrario, la operación [pic]solamente se puede hacer si la cola no está vacía.
Estructura de las Colas en C/C++
De manera similar a las pilas, las colas definen una estructura no estándar, de manera que se debe crear un nuevo tipo de dado, el tipo cola, que debe tener lossiguientes elementos:
• Un arreglo de [pic]elementos de algún tipo específico, puede incluso ser un tipo estándar o no.
• Un número que indica el elemento que está en la posición del frente de la cola.
• Un número que indica el elemento que está en la posición trasera de la cola.
Suponiendo que los elementos son números enteros, una idea para representar una cola en C/C++ es usar...
tracking img