Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria...
-
Upload
tadeo-olgin -
Category
Documents
-
view
107 -
download
3
Transcript of Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria...
Pila 1 UVM
Colas
Pila 3 UVM
3.1 Objetivos
El estudiante manejará el tad Cola, sobre memoria estática
Pila 4 UVM
3.2 Temas a Cubrir
DefiniciónOperaciones sobre Colas Encolar (enqueue) Desencolar (dequeue) Primero (front) Último (rear) Vacía? (empty)
Implementación de Colas
Pila 5 UVM
3.3 Definición
Una cola (queue en inglés) es una estructura de datos en la que el modo de acceso a sus elementos es de tipo FIFO (del inglés First In First Out, primero en entrar, primero en salir) que permite almacenar y recuperar datos.
Pila 6 UVM
3.4 Operaciones sobre Colas
Encolar (enqueue)Desencolar (dequeue)Primero (front) Último (rear)Vacía? (empty)
Pila 7 UVM
3.4.1 Encolar (enqueue)
Esta operación sirve para insertar un elemento e en la cola qenqueue(Q, e)
Pila 8 UVM
3.4.2 Desencolar (dequeue)
Se usa para retirar un elemento de la cola Q y asignarlo a una variable del mismo tipo que el tipo de los elementos de la colav = dequeue(Q);
Pila 9 UVM
3.4.3 Primero (front)
La operación front(Q) devuelve el valor del primer elemento de la cola Q. v=front(Q)
Pila 10 UVM
3.4.4 Último (rear)
La operación rear(Q) devuelve el valor del último elemento de la cola Q. v=rear(Q)
Pila 11 UVM
3.4.5 Vacía? (empty)
Toma como argumento una estructura del tipo cola (queue) y devuelve un valor booleano: true si la cola está vacía o false si la cola tiene al menos un elemento
Pila 12 UVM
3.4.5 Ejemplos
Cola de ImpresiónCola de Procesos en un S. O.Mensajes de voz en una contestadora telefónica
Pila 13 UVM
3.5 Implementación de Colas
#define MAXQUEUE 100
struct queue {
int items[MAXQUEUE];
int front, rear;
} ;
struct queue Q;
Q.front = Q.rear = -1;
Pila 14 UVM
3.5.1 enqueue
void enqueue(struct queue *Q, int e){
Q->items[++Q->rear]=e;
}
Pila 15 UVM
3.5.2 dequeue
int dequeue(struct queue *Q){
return Q->items[++Q->front];
}
Pila 16 UVM
3.5.3 front
int front (struct queue *Q){
return Q->item[Q->front];
}
Ó
int front(struct queue *Q){
return Q->front;
}
Pila 17 UVM
3.5.4 rear
Pila 18 UVM
3.5.5 Vacía?
Pila 19 UVM
Tarea # 3 (entrega 7 marzo 2009)Escriba un programa en C que represente la lista de espera para la atención de clientes en un centro de atención al público. Se debe guardar el nombre, turno, teléfono del cliente. El programa debe capturar a los clientes según llegan, borrarlos cuando son atendidos y desplegar la lista de los que faltan de atender