Prechádzame obe postupnosti rekurzívne súčasne. Vždy z jednej vyberieme číslo do výsledku (vždy to menšie) a pokračujeme. Ak sa čísla rovnajú, vyberieme ich z oboch postupností, ale do výsledku číslo vrátime len raz.
; Predpokladáme, že postupnosti sú usporiadané vzostupne.
; Vždy vyberáme minimum.
; Predpokladáme, že v daných postupnostiach, v každej osobitne,
; nie je viacnásobný výskyt prvkov.
(defun zluc (zoz1 zoz2)
(cond ((null zoz1) zoz2)
((null zoz2) zoz1)
((= (first zoz1) (first zoz2)) (cons (first zoz1) (zluc (rest zoz1) (rest zoz2))))
((< (first zoz1) (first zoz2)) (cons (first zoz1) (zluc (rest zoz1) zoz2)))
(T (cons (first zoz2) (zluc zoz1 (rest zoz2))))
)
)
; Príklady:
(zluc '(1 2 3) '(2 3 4 5)) -> (1 2 3 4 5)
(zluc '(1 3 5) '(2 5 9)) -> (1 2 3 5 9)