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

Kisah Yesus
Kisah Yesus

lofi, emotional, chill

NHI
NHI

Minimal downtempo psybient, pulsating bass, warm analog synths, 741hz

键盘侠
键盘侠

dirty south boom bap

Tom
Tom

Doo-wop, R&B, vocal harmonic group, violin, piano, slow, good voices, male voice, mordem audio quality, group singers

Restrict Area! - Corrupted Workbench (Redstar Workbench)
Restrict Area! - Corrupted Workbench (Redstar Workbench)

Metropolitan music, factory, Soviet, Soviet union, Soviet music Open World game,game ost,orchestra, gothic rock, oi

Whispers of the Frostbitten Echo/ Yan Lung's Theme
Whispers of the Frostbitten Echo/ Yan Lung's Theme

orchestral, music box, quiet female humming at the end, cinematic, epic, atmospheric, ambient, calm

We Begin [Melodic Trance]
We Begin [Melodic Trance]

instrumental,electronic,electronic dance music,trance,progressive trance

airplane
airplane

synth wave, progressive drum and bass.phonk

Urban Haze
Urban Haze

lo-fi hip-hop laid back

Verano Azul
Verano Azul

bailable pop alegre

naughty | شیطونک
naughty | شیطونک

Rap,Male Singer, Women Singing

p way ahed of her time
p way ahed of her time

moody acid jazz wild rock art nouveau

Prédestinés à Tirana
Prédestinés à Tirana

male vocalist,female vocalist,show tunes,melodic,orchestral,passionate,bittersweet,energetic,longing,love,musical theater and entertainment,french

Unity of Steel
Unity of Steel

anthemic powerful orchestral

Midnight Dance
Midnight Dance

dance pop upbeat male voice polski

Lost in the City
Lost in the City

catchy and ear candy, storytelling lyrics, japanese voice