¡¡¡ MAS SOBRE COLAS!!!

Definición de Fila

 Fila o Cola (queue): Colección Ordenada de elementos a partir de la cual se pueden eliminar elementos de un extremo, llamado frente, y agregar elementos en el otro extremo, llamado final (posterior, atrás).

 El primer elemento que se inserta en la Fila es el primero en salir (estructura
FIFO: First In First Out





Ejemplos en la vida

 Personas formadas frente a las cajas de supermercado o banco

 Autos que esperan cambio de luz de un semáforo en rojo

 Las mangueras (regar por ejemplo)





Características

 Su representación gráfica

 Fila de 4 elementos si se agrega un nuevo elemento E se agregará después de D






Implementaciones

 Las filas son estructuras de datos fundamentales (no están definidas en los Lenguajes de Programación)

 Las implementaciones típicas usan:
Arreglos (estática)
Listas enlazadas (dinámica)
Implementación con arreglos


 Se necesita un arreglo y dos variables
numéricas:


Frente (front): Posición del primer elemento de la fila. Inicialmente en 0
Final o Atrás (rear): Posición del último elemento de la fila. Inicialmente en -1


Implementación: Definición
 Usando C con una variable
#define MAXFILA 100
typedef struct
{
int dato[MAXFILA];
int frente,final;
} fila;
Impl.con arreglos: Inserción
 void inserta (fila *f, int dato)
{ f->final f-final + 1;
f->dato[f->final] = dato;
}

Impl.con arreglos: Eliminación
 int eliminar (fila *f)
{ int sale;
sale = f->dato[f->frente]
if (f->frente==f->final)
{ f->frente=0;
f->final=-1;
}
else f->frente=f->frente+1;
return (sale);
}




No hay comentarios:

Publicar un comentario