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))))) |