fork download
  1. (defun vsort (lst &key (order 'a))
  2. (cond ((null lst) nil)
  3. (t (let* ( (z (if (eq order 'a) (apply 'min lst) (apply 'max lst)))
  4. (rest (removef z lst)))
  5. (cons z (vsort rest :order order))))))
  6.  
  7. ==> vsort
  8.  
  9. (vsort '(1 2 3 1 2 3) :order 'a)
  10.  
  11. ==> (1 1 2 2 3 3)
  12.  
  13. (vsort '(1 2 3 1 2 3) :order 'd)
  14.  
  15. ==> (3 3 2 2 1 1)
Runtime error #stdin #stdout 0.02s 3028KB
stdin
Standard input is empty
stdout
[EXPRNPSR3] Missing function declaration for defun.

[EXPRNPSR3] Missing function declaration for vsort.

[EXPRNPSR3] Missing function declaration for vsort.