Estoy algo ocupado en este momento pero te puedo adelantar la parte lógica.
Deberías trabajar con dos o más vectores en la cual cada vector le deberás asignar la letra correspondiente a su conjunto. (en caso de ser una información que se almacene en una base de datos es diferente). Lo que tienes es que buscar la forma de ordenarlos después de haberlos cargado (hay varios métodos de ordenamiento ya creados). Posteriormente realizar tus comparaciones de las operaciones básicas a través de una búsqueda. Las condiciones de cada operación las tienes que manejar por separado, es decir la unión simplemente son los dos vectores. Pero cuando tengas que realizar varias operaciones básicas necesitas utilizar más de dos vectores, por tal razón te recomiendo: Ejemplo: a u b ^ c primero operas ("A" u "B") y el resultado lo guardas en otro vector llamado vector R1, para que luego realices la operacion ("R1" ^ "C") y esto resulte el vector Rfinal.
No estoy seguro si esto es lo que estás buscando.
Saludos,
Ronny Gómez
--
Gómez Ronny