Datos

Páginas: 11 (2548 palabras) Publicado: 24 de marzo de 2013
2012
Colas

MC. Fco. Javier Ruiz Ortega
Instituto Tecnológico de
Torreón
14/10/2012

Colas
COLAS
Es una lista de elementos e n la q ue los elementos se i ntroducen por un e xtremo
y se elimi nan por otro. Los elementos se eliminan en el mismo orde n e n el que se
insertaron. Por lo tanto e l primer ele mento en e ntrar a la cola será el p rimer
elemento e n sa lir. Debido a estacaracterística las colas reciben también
el nombre de QUEUE o F IFO (First - In, Firs t-Out: Primero en Entrar Primero e n
Salir).
En la vida real e xisten numerosos casos de colas: personas esperando para
usar un teléfono p úblico, las personas q ue espera n para ser atendidas en la caja
de un banco, e tc.

MC. Fco. Javier Ruiz Ortega

Colas
Otras ap licaciones ligadas a la computaciónson: e n las colas de Impresión, e n el
caso de que e xistiese una sola computadora para a tender a varios usuarios,
puede s uceder q ue algunos de ellos soliciten los servicios de impresi ón al
mismo tiempo o mientras el dispositi vo está ocupado. E n estos casos se forma
una cola con los trabajos que esperan a ser impresos. Los mismos se irán
imprimiendo en e l orden e n q ue f ueron llegandoa la cola.

Otro caso es c uando se manejan los sistemas e n tiempo compartido.
Varios us uarios comparten ciertos recursos, como CPU o memoria RAM. Los
recursos se asi gnan a los procesos que están e n cola de espera, s uponiendo
que todos tienen la misma prioridad, en el o rden e n el c ual f ueron introducidos
en la cola.

REPRESENTACION EN MEMORIA ESTATICA
Al igual q ue las estructuras de pilas, las colas no e xisten co mo estruct uras
de datos estándares e n los le nguajes de programación.

En este caso se tratarán las colas como arreglos de elementos, e n las c uales es
necesario definir el tamaño de la cola y dos apuntadores. E l primer apuntador se
usará para acceder a l primer elemento al cual le llamaremos F

y el otro

apuntador
que g uarde el último elemento y le llamaremos A. Además uno llamado
MÁXIMO para definir e l número máximo de elementos e n la
cola. Ejemplo:
En la sig uiente figura se m uestra una cola q ue ha g uardado t res
ele mentos: X, Y, Z.
X

Y

Z

1

2

3

F

A

4

5

M AX

MC. Fco. Javier Ruiz Ortega

Colas
COLA LINEAL.
Es un tipo de a lmacenamiento c reado por el usuario que traba ja bajo latécnica FIFO.

las

operaciones

que

podem os

realizar

son:

iniciación, inserción y extracc ión.
Se deben c onsiderar algunas c ondiciones en el m anejo de este
tipo de c olas:
1. OverFlow (Cola Llena)
2. UnderFlow (Cola Vac ía)

a l real izar una ins erción
al requerir extraer un elemento

3. Vac ío

class Cola{
static int c[],tf,ti,max;
Cola(){
c=new int[6];
max=6;
}Cola(int max){
c=new int [max];
this.max=max;
tf=ti=-1;
}
public static void insert(int d){
if(tf==max-1)
Console.W rite("Cola llena");
else
{
if(ti==-1)
ti=tf=0;
else tf++; //el else termina aqui.
c[tf]=d;
}
}
public static void eliminar(){
if(ti==-1)
Console.Write("No se puede eliminar");
else {
if(tf==ti)
ti=tf=-1;
else ti++;
}
}
public static int mostrar(){
returnc[ti];
MC. Fco. Javier Ruiz Ortega

Colas
}
public static boolean estaVacia(){
if(tf==-1)
return true;
return false;
}
}

MC. Fco. Javier Ruiz Ortega

Colas
REPRESENTACION DINAMICA
C rearemos

un

programa

que

permita

administrar

una

lista

tipo

cola.

Desarrollaremos los métodos de Insertar, Extraer, Vacia e Imprimir.
Programa:
using
using
usingusing

System;
System.Collections.Generic;
System.Linq;
System.Text;

namespace ListasTipoCola1
{
class Cola
{
class Nodo
{
public int info;
public Nodo sig;
}
private Nodo raiz,fondo;
public Cola()
{
raiz=null;
fondo=null;
}
public bool Vacia ()
{
if (raiz == null)
return true;
else
return false;
}
public void Insertar (int info)
{
Nodo nuevo;
nuevo = new Nodo ();...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Los datos
  • Datos
  • Datos
  • Datos
  • datos
  • Datos
  • datos
  • Datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS