zephyr/lib/libc/minimal/include
Christopher Friedt bd83df1552 libc: minimal: add qsort to the minimal libc
This change implements qsort() for the minimal libc via Heapsort.

Heapsort time complexity is O(n log(n)) in the best, average,
and worst cases. It is O(1) in space complexity (i.e. sorts
in-place) and is iterative rather than recursive. Heapsort is
not stable (i.e. does not preserve order of identical elements).

On cortex-m0, this implementation occupies ~240 bytes.

Fixes #28896

Signed-off-by: Christopher Friedt <chrisfriedt@gmail.com>
2021-11-10 07:00:36 -05:00
..
sys libc: types: suppress deviation 2021-08-24 07:23:02 -04:00
assert.h libc/minimal/assert: conditionalize static_assert macro 2019-09-19 09:37:42 -05:00
ctype.h libc: minimal: Add an implementation of iscntrl() 2021-10-01 11:37:38 +02:00
errno.h libc: minimal: Add EOVERFLOW 2021-05-17 09:11:15 -04:00
fcntl.h lib/posix: Add support for open flags to open(...) 2020-07-30 16:33:18 +02:00
inttypes.h stdint.h: streamline type definitions 2019-06-25 23:29:22 -04:00
limits.h limits.h: streamline value definitions 2019-07-05 10:05:37 -04:00
math.h libc: minimal: Add math macro definition 2021-09-22 06:16:31 -04:00
stdbool.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00
stdint.h libc: minimal: mwdt: define __INT*_C() and __UINT*_C() 2021-05-25 12:55:48 -05:00
stdio.h libc: minimal: Use new ZRESTRICT macro 2021-11-05 13:29:31 +01:00
stdlib.h libc: minimal: add qsort to the minimal libc 2021-11-10 07:00:36 -05:00
string.h libc: minimal: Use new ZRESTRICT macro 2021-11-05 13:29:31 +01:00
strings.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00
time.h libc: minimal: Use new ZRESTRICT macro 2021-11-05 13:29:31 +01:00