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:
  1. Agregar un elemento a cualquiera de A o B.
  2. Reportar la cardinalidad de la unión de A y B.
  3. 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:
  1. Lea un entero M.
  2. Lea y efectúe M operaciones en los conjuntos.
  3. 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:
  1. Agregar un elemento a A se representará por el carácter 'A' seguido del elemento N.
  2. Agregar un elemento a B se representará por el carácter 'B' seguido del elemento N.
  3. Reportar la cardinalidad de la unión se representará por el carácter 'U'.
  4. Reportar la cardinalidad de la intersección se representará por el carácter 'I'.
El resultado de cada operación será:
  1. El elemento agregado en los primeros dos casos.
  2. 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