pila1uvm colas. pila2uvm pila3uvm 3.1 objetivos el estudiante manejará el tad cola, sobre memoria...

Post on 11-Apr-2015

107 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related