![Page 1: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/1.jpg)
Pila 1 UVM
Colas
![Page 2: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/2.jpg)
Pila 3 UVM
3.1 Objetivos
El estudiante manejará el tad Cola, sobre memoria estática
![Page 3: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/3.jpg)
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
![Page 4: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/4.jpg)
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.
![Page 5: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/5.jpg)
Pila 6 UVM
3.4 Operaciones sobre Colas
Encolar (enqueue)Desencolar (dequeue)Primero (front) Último (rear)Vacía? (empty)
![Page 6: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/6.jpg)
Pila 7 UVM
3.4.1 Encolar (enqueue)
Esta operación sirve para insertar un elemento e en la cola qenqueue(Q, e)
![Page 7: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/7.jpg)
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);
![Page 8: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/8.jpg)
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)
![Page 9: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/9.jpg)
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)
![Page 10: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/10.jpg)
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
![Page 11: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/11.jpg)
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
![Page 12: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/12.jpg)
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;
![Page 13: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/13.jpg)
Pila 14 UVM
3.5.1 enqueue
void enqueue(struct queue *Q, int e){
Q->items[++Q->rear]=e;
}
![Page 14: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/14.jpg)
Pila 15 UVM
3.5.2 dequeue
int dequeue(struct queue *Q){
return Q->items[++Q->front];
}
![Page 15: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/15.jpg)
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;
}
![Page 16: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/16.jpg)
Pila 17 UVM
3.5.4 rear
![Page 17: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/17.jpg)
Pila 18 UVM
3.5.5 Vacía?
![Page 18: Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática](https://reader033.vdocuments.mx/reader033/viewer/2022051615/5528bde4497959977d8fb88c/html5/thumbnails/18.jpg)
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