Tarea 4 de Algoritmos y Estructuras de Datos
Trimestre 2014 Primavera
Entrega: 23 de mayo de 2014 a las 22:00
Una cola de prioridad es un tipo de datos abstracto que
permite insertar datos arbitrarios y eliminar siempre al mayor. En
esta tarea implementarás una cola de prioridad estática de enteros
con verificación de errores (no se permite eliminar datos de una
cola de prioridad vacía y no se permite agregar datos a una cola de
prioridad llena).
Escribe un programa llamado prioridadNN.c (donde NN es tu número de
lista) que:
- Lea el tamaño T de la cola de prioridad y la inicialize.
- Lea y efectúe M operaciones en la cola de prioridad.
- Escriba el resultado de esas operaciones.
La entrada comenzará con los valores de T y M, después aparecerán
las M operaciones que debes hacer. Las operaciones estarán
representadas de esta forma:
- La inserción se representará por el carácter 'I' seguido del
entero N que se desea insertar.
- La eliminación del mayor se representará por el carácter 'E'.
El resultado de cada operación será 0 0 (si hubo error) o
1 seguido del entero que se insertó o eliminó (si hubo éxito).
En el primer ejemplo de abajo se declara una cola de prioridad de
tamaño 3 y se hacen 5 operaciones, la primera de las cuales
representa un error.
Puedes suponer que 1 <= T, M, N <= 1000.
Entrada 1
|
Salida 1
|
Entrada 2
|
Salida 2
|
3 5
E
I 3
I 5
I 1
E
|
0 0
1 3
1 5
1 1
1 5
|
3 5
I 3
E
E
I 1
E
|
1 3
1 3
0 0
1 1
1 1
|