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

Dark Tuesday
Dark Tuesday

slow-tempo ballad, piano, with strings (violin, cello). subtle drumbeat providing a gentle rhythm to support the vocals.

Barnyard Boogie
Barnyard Boogie

edm country playful upbeat

last
last

melancholic music, a far lonely journey, the ambient of the dried-up sea, violin, vibraphone, fat useless insects

Absurdity
Absurdity

alternative rock

Amando e Sofrendo
Amando e Sofrendo

ballad hyperpop brazilian portuguese

Dancing in the Night
Dancing in the Night

groovy electro swing

My Heart Remembers You
My Heart Remembers You

rock, hard rock, catchy, guitar, beat

Hey
Hey

Pop Rock, Blue Rock, Alternative Rock, 2000s Rock, Laid Back,

Psalms 139:1-3 - ESV
Psalms 139:1-3 - ESV

acoustic guitar

Лес окутался туманом
Лес окутался туманом

epic folk rock,dreamy, soul,male singer,Love Song, minor, melodic, heartbreakingly,violin

Lonely Pulse
Lonely Pulse

Rap, Hip-hop, melodic

"Harmony of Hearts"
"Harmony of Hearts"

Verse 1 (Pop/R&B style),Chorus (Pop/Rock style),Verse 2 (R&B/EDM style)Bridge (Rock/EDM style)Final Chorus(Full Fusion)

Our Love's Day
Our Love's Day

acoustic romantic melodic

🎙 Sky Full of Dreams  🎶
🎙 Sky Full of Dreams 🎶

Raga Algorave, lo-fi, japanese

Moonlit Dreams
Moonlit Dreams

upbeat punk rock hip hop pop, electronic, beat, electric guitar, r&b

Never Again
Never Again

emotional, ballad, orchestral, dark voices, gloomy voices, cinematic, atmospheric, background singers

Nonsense Adventure
Nonsense Adventure

Jazz Very fast paced

Vuela alto
Vuela alto

latina-hip hop, latin rap, saxo Regional music, Hispanic american music, Hispanic music, Hip hop, Energetic, Rhythmic,

Wildflower
Wildflower

Female Pop Country