集合論的なのをリスト使うのと配列使うのだったら違いもあるだろうけど、
そういう問題出ないね。

A∪B := {x | x ∈ A ∨ x ∈ B}

はHaskellだと仮にx が{1,2,3,4,5,6,7,8,9,10}の要素で、Aが{3,4,5,6}、Bが{5,6,7,8}なら

setX = [1..10]
setA = [3..6]
setB = [5..8]

[x | x <- setX, x `elem` setA || x `elem` setB]
(Haskellは変数名の初めに大文字使えない)

これがCで配列縛りだとreallocでも使いながらなんじゃろか。。。