Perdona, me dejé llevar más por el título...
1 -
Informalmente unión, significa reunión... siendo éste caso, todo lo escrito, sería totalmente correcto.
2 -
Formalmente, el concepto de Unión 'U', significa "pertecenece a", así: rojo U colores
indica que rojo pertenece al conjunto colores.
En resumen
es lo mismo con la salvedad de que no ha de contener elementos repetidos (el conjunto colores, no contiene: verde, azul,
rojo, amarillo, blanco,
rojo... es decir solo hay una copia de cada uno).
Releyendo que es un ejercicio (posiblemente de un profesor), asumo que será lo segundo.
Aunque la diferencia sea un pequeñísimo detalle, el ejercicio se complica y sobretodo requiere muchísimas más operaciones (solamente, por efectuarse con pilas) en ese caso, porque antes de depositar un elemento en la pila destino, debe quedar claro, que no consta ya... siendo una pila implica revisar todo su contenido (cada vez), extraer y volver a meter.
Sea la pila Q = 1,6,9,3,3,3,7,9 // cada n´mero representa un elemento...
y la pila Z = 2,0,7,9,7,4,1,1,5
la pila x = (vacía)
buleano = Funcion Contiene(elemento e, pila X)
pila aux
elemento p
buleano existe = FALSE
Mientras x.Items // ir sacando uno a uno los ítems de la pila para ver si los contiene.
p = x.pop
aux.push p
Si x = e
existe = TRUE
Salir del bucle
fin si
repetir
mientras aux.Items // volver a introducir los ítems sacados de la pila destino.
p = aux.pop
x.push p
repetir
Devolver existe
fin funcion
Aqui se opera estrayendo cada elemento de la pila Origen, y si no consta en destino, se añade.
Procedimiento UnionPX(pila O, pila X)
elemento p
Mientras O.Items
p = O.Pop
Si Contiene(p, X) = FALSE
X.push p
fin si
repetir
fin procedmiento
Finalmente se opera con cada pila solicitada ...
Procedimiento UnionZQ(pila Z, pila Q, pila X)
// Si se considera que la pila X está vacía, puede comenzarse por colocar el primer elemento de la pila Z
X.Push(Z.Pop)
// Pero si tampoco se sabe si la pila Z, está o no vacía no sería acertado la anterior línea...
UnionPX(Z, X)
UnionPX(Q, X)
Fin procedmiento
Es laborioso, por cuanto la pila X, con cada ítem debe ser revisada entera y cuantos más se añaden más larga serán las siguientes revisiones...
la pila X, por tanto contendrá finalmente: x = 1,6,9,3,7,2,0,4,5