quick-sort changes
This commit is contained in:
parent
b95ad66718
commit
25e5f85167
|
|
@ -61,18 +61,23 @@
|
|||
|
||||
|
||||
; quicksort
|
||||
(defun quick-sort (l)
|
||||
(defun quick-sort-by (l cmp)
|
||||
(if (<= (len l) 1)
|
||||
l
|
||||
(do
|
||||
(define pivot (first l))
|
||||
(+
|
||||
(quick-sort (filter (lambda (n) (> pivot n)) l))
|
||||
(quick-sort-by (filter (lambda (n) (cmp pivot n)) l) cmp)
|
||||
(list pivot)
|
||||
(quick-sort (tail (filter (lambda (n) (<= pivot n)) l)))
|
||||
(quick-sort-by (tail (filter (lambda (n) (not (cmp pivot n))) l)) cmp)
|
||||
))
|
||||
))
|
||||
|
||||
(defun quick-sort (l)
|
||||
(quick-sort-by l (lambda (a b) (> a b))))
|
||||
|
||||
|
||||
|
||||
|
||||
; from list of lists creates csv string
|
||||
; (print (make-csv '(("r1c1" "r1c2") ("r2c1" "r2c2"))))
|
||||
|
|
|
|||
Loading…
Reference in New Issue