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

Never My Media
Never My Media

slow, soundtrack, clean, vocal, soundtrack cinematic building rock song. orchestral strings. piano ostinato. slow tempo. builds dynamically., rock

Oliver
Oliver

pop uplifting

Skywalker Rhapsody
Skywalker Rhapsody

singer-songwriter,show tunes,pop,soundtrack,musical theater and entertainment,piano rock,rock musical,female vocalist,energetic,happy,romantic,love

Velocity of Dreams
Velocity of Dreams

Happy Hardcore, Bright Synths, Fast Breakbeats, Energetic Bass, Vibrant, Energetic, Joyful, High Tempo, Hypnotic

With you my forever
With you my forever

Slow, calm, male baritone voice, r&b, pop, indie ballad, Korean ballads, sentimental, uplifting, dreamy, serene, soul

Тень в ночи
Тень в ночи

electronic haunting dark pop

La Banana della Vittoria
La Banana della Vittoria

coinvolgente hardcore eccitante

Bhajan
Bhajan

flute, Bhajan

Night Sweats
Night Sweats

A Fusion of Drum & Bass and Hip Hop with Male Vocals

Synth Dreams
Synth Dreams

synthwave catchy 80s style

Moonlight Love
Moonlight Love

acoustic melodic pop

Lute Me Entertain You
Lute Me Entertain You

Classical, Renaissance, lute lead harpsichord, Crumhorn

lost in silence
lost in silence

Crescendo, conscious rap, slow rap, dark trap, country rap

doing the same thing
doing the same thing

r&b inflected cloud, cruel, bittersweet, female

Eternal Reunion
Eternal Reunion

instrumental,hindustani classical music,classical music,hypnotic,south asian classical music,drums,sitar

Love and Light
Love and Light

classic jazz

Bless Mama
Bless Mama

Reggae, Jamaica, Rastafari, slow temp, reggea riffs, Jam, sknak reggea,