Podobne ako v príklade vloz . (z časti množina), len s tou zmenou, že ak v postupnosti také číslo už je, aj tak sa vloží.

Predpokladáme napr. vzostupné usporiadanie. Rekurzívne prechádzame postupnosť a vo vhodnej chvíli (nasleduje číslo vyššie, alebo rovnaké ako zadané) vložíme zadané číslo a pridáme ešte neprejdený zvyšok.


; Predpokladáme vzostupné usporiadanie.

(defun vloz (c zoz)
 (cond ((null zoz) (cons c NIL))
       ((<= c (first zoz)) (cons c zoz))
       (T (cons (first zoz) (vloz c (rest zoz))))
 )
)

; Príklady:
(vloz 2 '())        ; -> (2)
(vloz 2 '(1 2 3))   ; -> (1 2 2 3)
(vloz 2 '(-1 0))    ; -> (-1 0 2)
(vloz 2 '(0 1 7 8)) ; -> (0 1 2 7 8)
(vloz 2 '(7 8))     ; -> (2 7 8)

 


Autori[ ZADANIE | AKO ZAČAŤ | RIEŠENIE ]
Posledná aktualizácia 4. 9. 2001
back  home  next