Tarea 5 de Algoritmos y Estructuras de Datos
Trimestre 2014 Primavera
Entrega: 26 de mayo de 2014 a las 22:00
En esta tarea implementarás operaciones sobre conjuntos usando
listas ligadas. Al principio tendrás dos conjuntos vacíos A y B, a
los cuales les podrás aplicar tres operaciones distintas:
- Agregar un elemento a cualquiera de A o B.
- Reportar la cardinalidad de la unión de A y B.
- Reportar la cardinalidad de la intersección de A y B.
Escribe un programa llamado conjuntosNN.c (donde NN es tu número de
lista) que:
- Lea un entero M.
- Lea y efectúe M operaciones en los conjuntos.
- Escriba el resultado de esas operaciones.
La entrada comenzará con el valor de M, después aparecerán las M
operaciones que debes hacer. Las operaciones estarán representadas
de esta forma:
- Agregar un elemento a A se representará por el carácter 'A'
seguido del elemento N.
- Agregar un elemento a B se representará por el carácter 'B'
seguido del elemento N.
- Reportar la cardinalidad de la unión se representará por el
carácter 'U'.
- Reportar la cardinalidad de la intersección se representará
por el carácter 'I'.
El resultado de cada operación será:
- El elemento agregado en los primeros dos casos.
- La cardinalidad pedida en los siguientes dos casos.
Puedes suponer que M y N caben en un int, además de que M será
positivo.
En los ejemplos de abajo se hacen M = 5 operaciones.
Entrada 1
|
Salida 1
|
Entrada 2
|
Salida 2
|
5
A 3
B 1
B 3
U
I
|
3
1
3
2
1
|
5
A 1
B 2
B 2
I
U |
1
2
2
0
2
|