Tarea 3 de Algoritmos y Estructuras de Datos
Trimestre 2013 Otoño
Entrega: 19 de septiembre de 2013 a las 22:00
Una doble cola es un tipo de datos abstracto que permite
insertar y eliminar datos por ambos extremos. En esta tarea
implementarás una doble cola estática de letras con verificación de
errores (no se permite eliminar datos de una doble cola vacía y no
se permite agregar datos a una doble cola llena).
Escribe un programa llamado dequeNN.c (donde NN es tu número de
lista) que:
- Lea el tamaño T de la doble cola estática y la inicialize.
- Lea y efectúe M operaciones en la doble cola.
- 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 por la izquierda se representará por el carácter
'i' seguido de la letra que se desea insertar.
- La inserción por la derecha se representará por el carácter
'd' seguido de la letra que se desea insertar.
- La eliminación por la izquierda se representará por el
carácter 'I'.
- La eliminación por la derecha se representará por el carácter
'D'.
El resultado de cada operación será 0 @ (si hubo error) o
1 seguido de la letra que se insertó o eliminó (si hubo éxito).
En el primer ejemplo de abajo se declara una cola doble de tamaño 3
y se hacen 5 operaciones, la primera de las cuales representa un
error.
Puedes suponer que 1 <= T, M <= 1000.
Entrada 1
|
Salida 1
|
Entrada 2
|
Salida 2
|
3 5
I
i z
d w
D
D
|
0 @
1 z
1 w
1 w
1 z
|
3 5
i z
D
D
i w
I
|
1 z
1 z
0 @
1 w
1 w
|
Guía para usar su cuenta de callix y enviar la
tarea.