quick-sort changes

This commit is contained in:
VaclavT 2021-02-26 09:48:26 +01:00
parent b95ad66718
commit 25e5f85167
1 changed files with 8 additions and 3 deletions

View File

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