Advertisement
cardel

04 Sep ordenar listas

Sep 5th, 2020
3,593
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.81 KB | None | 0 0
  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)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement