diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2021-03-19 18:48:38 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2021-03-19 18:48:38 +0200 |
commit | 01d887955f72b561a6e604c96292f8f1053d3839 (patch) | |
tree | 4902f84aee401684c3864d9b475ed57344296c25 /libk/test/quicksort.cc | |
parent | cpuid: show manufacturer and model (diff) | |
download | kernel.cpp-01d887955f72b561a6e604c96292f8f1053d3839.tar.xz |
Add quicksort implementation to stdlib
Diffstat (limited to 'libk/test/quicksort.cc')
-rw-r--r-- | libk/test/quicksort.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libk/test/quicksort.cc b/libk/test/quicksort.cc new file mode 100644 index 0000000..582e49e --- /dev/null +++ b/libk/test/quicksort.cc @@ -0,0 +1,16 @@ +#include <stdlib/quicksort.h> + +constexpr bool is_sorted(int a[], size_t from, size_t to) { + for (; from < to - 1; ++from) + if (a[from] > a[from + 1]) + return false; + return true; +} + +static_assert([]() { + int a[] = {12, 82, 347, 92, 74, 123, 0, 56}; + const size_t a_len = sizeof(a) / sizeof(int); + + qsort(a, 0, a_len - 1); + return is_sorted(a, 0, a_len - 1); +}()); |