mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 03:51:18 +00:00
* sort: extract partition from quicksort Extract the partition logic from quicksort into a macro. This allows to reuse the partition logic for, e.g., the quickselect algorithm. * sort: implement quickselect implement Hoare's selection algorithm (quickselect) on the basis of the already implemented quicksort. Quickselect allows to find the kth smallest element in a unordered list with an average time complexity of O(N) (worst case: O(N^2)). * add quicksort benchmark Create a top-level benchmarks folder. Add the benchmark implementation for the quicksort algorithm. Benchmarks can then be run in the same way as unit tests from the root folder with: c3c compile-benchmarks benchmarks/stdlib/sort