View difference between Paste ID: 4vJX4KBb and kkFc7zks
SHOW: | | - or go back to the newest paste.
1
;;Autor: Carlos A Delgado
2
;;Fecha: 5 de Septiembre de 2020
3
;;Contrato: ordenar: lista de numeros -> lista de numeros
4
;;Propósito: Ordenar de menor a mayor un alista de números
5
;;Ejemplos
6
;;(9 8 1 2 0) -> (0 1 2 8 9)
7
;;(-4 5 0 2 3) -> (-4 0 2 3 5)
8
(define (ordenar lstnum)
9
  (cond
10
    [(empty? lstnum) empty]
11
    [else (ordenarAux (first lstnum) 
12
            (ordenar (rest lstnum)) )]
13
    ))
14
15
(check-expect (ordenar (list 9 8 1 2 0)) (list 0 1 2 8 9))
16
17
;;Contrato: OrdenarAux: numero, lista de numeros -> lista de numeros
18
(define (ordenarAux num lstOrdenada)
19
  (cond
20
    [(empty? lstOrdenada) (cons num empty)]
21
    [(< num (first lstOrdenada)) (cons num lstOrdenada)]
22
    [else (cons (first lstOrdenada) (ordenarAux num (rest lstOrdenada)))]
23
    ))
24
25
;;(ordenarAux 5 (cons 1 (cons 4 (cons 6 (cons 7 empty)))))