apl: quicksort recursive partition — Phase 6 classics complete (+9 tests, 315/315)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m0s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m0s
This commit is contained in:
@@ -907,6 +907,24 @@
|
||||
(n)
|
||||
(apl-scalar (len (filter apl-queens-valid? (apl-permutations n))))))
|
||||
|
||||
(define
|
||||
apl-quicksort
|
||||
(fn
|
||||
(arr)
|
||||
(let
|
||||
((ravel (get arr :ravel)))
|
||||
(if
|
||||
(<= (len ravel) 1)
|
||||
arr
|
||||
(let
|
||||
((pivot (apl-scalar (first ravel))))
|
||||
(let
|
||||
((less (apl-quicksort (apl-compress (apl-lt arr pivot) arr)))
|
||||
(eq (apl-compress (apl-eq arr pivot) arr))
|
||||
(greater
|
||||
(apl-quicksort (apl-compress (apl-gt arr pivot) arr))))
|
||||
(apl-catenate less (apl-catenate eq greater))))))))
|
||||
|
||||
(define
|
||||
apl-reduce
|
||||
(fn
|
||||
|
||||
Reference in New Issue
Block a user