zephyr/include/sys
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
..
__assert.h
arch_interface.h clock: add k_cycle_get_64 2021-11-08 13:41:53 -05:00
atomic_arch.h
atomic_builtin.h
atomic_c.h
atomic.h
base64.h
bitarray.h
byteorder.h
cbprintf_cxx.h
cbprintf_internal.h lib: os: cbprintf: Add support for conversion to fsc package 2021-07-27 14:50:45 +02:00
cbprintf.h lib: os: cbprintf: Add support for conversion to fsc package 2021-07-27 14:50:45 +02:00
check.h
crc.h
device_mmio.h doc: replace courge with corge 2021-08-23 18:54:27 -04:00
dlist.h
errno_private.h
fdtable.h
kobject.h sys: kobject: Fix header to avoid re-declaratiions 2021-10-02 14:34:14 -04:00
libc-hooks.h libc: minimal: Use new ZRESTRICT macro 2021-11-05 13:29:31 +01:00
list_gen.h
math_extras_impl.h
math_extras.h
mem_manage.h docs: Fix doxygen errors in include/sys/mem_manage.h 2021-05-28 11:30:51 -05:00
mpsc_packet.h
mpsc_pbuf.h lib: os: mpsc_pbuf: Add const qualifier to API calls 2021-09-28 06:15:39 -04:00
multi_heap.h sys: multi_heap: add missing docstrings 2021-10-07 11:54:23 -04:00
mutex.h
notify.h doc: doxygen: replace option alias with kconfig 2021-06-29 10:26:28 -04:00
onoff.h
p4wq.h toolchain: migrate iterable sections calls to the external API 2021-08-12 17:47:04 -04:00
printk.h sys: printk: Fix LOG2 printk support in cpp code 2021-06-29 11:33:21 -04:00
rb.h
reboot.h lib: os: add gcc noreturn attribute for sys_reboot 2021-08-13 07:32:51 -04:00
ring_buffer.h ring_buffer: Link buffer data to the .noinit section 2021-08-21 21:32:45 -04:00
sem.h toolchain: migrate iterable sections calls to the external API 2021-08-12 17:47:04 -04:00
sflist.h
slist.h
speculation.h
sys_heap.h lib/os: Add sys_heap_usable_size() 2021-10-06 20:20:31 -04:00
sys_io.h include: common: Add sys_set_bits and set_clear_bits inline functions 2021-10-12 08:37:03 -04:00
time_units.h sys: time_units: Add SYS_FOREVER_US macro 2021-10-12 12:26:56 +02:00
timeutil.h
util_internal.h
util_loops.h
util_macro.h sys: util: Move BIT macros from util.h to util_macro.h 2021-07-27 17:59:23 -04:00
util.h libc: minimal: add qsort to the minimal libc 2021-11-10 07:00:36 -05:00