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

This commit is contained in:
2026-05-07 06:23:03 +00:00
parent e37167a58e
commit 0f13052900
6 changed files with 98 additions and 7 deletions

View File

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