quicksort.h

Epic cinematic scores, sweeping orchestral movements, heroic themes, and stirring emotional peaks, adventure,

July 27th, 2024suno

Lyrics

#pragma once #ifndef ORDERING_DEFINED #define ORDERING_DEFINED typedef enum { Ordering_LessThan = -1, Ordering_Equal = 0, Ordering_GreaterThan = 1, } Ordering; void _null_write_cb(void* userdata, void* loc) { (void)userdata; (void)loc; return; } #endif typedef ptrdiff_t ssize_t; void quicksort_swap(void* write_cb_userdata, char* a, char* b, ssize_t elem_size, void (*write_cb)(void*, void*)) { for (ssize_t i = 0; i < elem_size; i++) { char tmp = a[i]; a[i] = b[i]; b[i] = tmp; } write_cb(write_cb_userdata, (void*)a); write_cb(write_cb_userdata, (void*)b); } ssize_t partition( void* write_cb_userdata, void* cmp_cb_userdata, void* elems_void, ssize_t elem_size, ssize_t low, ssize_t high, void (*write_cb)(void*, void*), Ordering (*cmp_cb)(void*, void*, void*) ) { char* elems = (char*)elems_void; char* pivot = elems+high*elem_size; //quicksort_swap(write_cb_userdata, pivot, elems+high*elem_size, elem_size, write_cb); ssize_t i = low-1; for(ssize_t j = low; j < high; j++) { char* a = elems+j*elem_size; if (cmp_cb(cmp_cb_userdata, a, pivot) <= 0) { i += 1; quicksort_swap(write_cb_userdata, elems + i*elem_size, elems+ j*elem_size, elem_size, write_cb); } } quicksort_swap(write_cb_userdata, elems +(i+1)*elem_size, elems +high*elem_size, elem_size, write_cb); return i+1; } #include <stdlib.h> #include <time.h> int partition_r( void* write_cb_userdata, void* cmp_cb_userdata, void* elems_void, ssize_t elem_size, ssize_t low, ssize_t high, void (*write_cb)(void*, void*), Ordering (*cmp_cb)(void*, void*, void*) ) { char* elems = (char*)elems_void; srand(time(NULL)); int random = low + rand() % (high - low); quicksort_swap(0, elems+random*elem_size, elems+high*elem_size, elem_size, _null_write_cb); return partition(write_cb_userdata, cmp_cb_userdata, elems_void, elem_size, low, high, write_cb, cmp_cb); } void quicksort_impl( void* write_cb_userdata, void* cmp_cb_userdata, void* elems, ssize_t elem_size, ssize_t elem_low, ssize_t elem_high, void (*write_cb)(void*, void*), Ordering (*cmp_cb)(void*, void*, void*) ) { if (elem_low < elem_high) { ssize_t index = partition_r(write_cb_userdata, cmp_cb_userdata, elems, elem_size, elem_low, elem_high, write_cb, cmp_cb); quicksort_impl(write_cb_userdata, cmp_cb_userdata, elems, elem_size, elem_low, index-1, write_cb, cmp_cb); quicksort_impl(write_cb_userdata, cmp_cb_userdata, elems, elem_size, index+1, elem_high, write_cb, cmp_cb); } } void quicksort( void* write_cb_userdata, void* cmp_cb_userdata, void* elems, size_t elem_size, size_t elem_len, void (*write_cb)(void*, void*), Ordering (*cmp_cb)(void*, void*, void*) ) { if (!write_cb) { write_cb=_null_write_cb; } quicksort_impl(wri

Recommended

Echoes in the Midnight
Echoes in the Midnight

powerful dark acid techno deep bass

Beyond Tomorrow 3
Beyond Tomorrow 3

Female visual kei singer, visual kei deathcore, djent

(AoN) Remember Art of Noise v1 (Sub ON)
(AoN) Remember Art of Noise v1 (Sub ON)

blues on electronic organ, random echo, Zodiaks space disko. And "Art of noise" "Moments in love"

Frogs
Frogs

frog, hardcore edm, intense

Ride With Me
Ride With Me

pop dance

행복한 바다
행복한 바다

힐링 어쿠스틱 잔잔한 멜로디

Pergilah Kasih
Pergilah Kasih

heartfelt pop acoustic

Assassins Legacy- Oasis
Assassins Legacy- Oasis

Early 90s indie rock dark tone

ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh in b-minor
ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh in b-minor

jungle, ragga jungle, avant-garde, ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

かけがえのない人
かけがえのない人

ポップ、女性、バラード、, k-pop, violin, piano, pop, electro, electronic, heartfelt, emotional

My school
My school

pop, beat

Locked Away for Sins
Locked Away for Sins

sad ballad slow piano-driven

Carry On For You
Carry On For You

Country song

Sonsuz Bulutlar
Sonsuz Bulutlar

rahatlatıcı pop akustik

Foršs kolektīvs
Foršs kolektīvs

gospel, punk rock, ska

Unleashed
Unleashed

[Male Vocals], EDM, Dance Pop, Anthemic, Uplifting, melismatic, High-Energy, Bass Heavy, Euphoric, Rap Verse, 36520

Pastel Solidário
Pastel Solidário

pop, electro,

Cherry Cherry
Cherry Cherry

oldies,electronics, electro,male vocal,modern talking type