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

Song for her
Song for her

jazz, piano, romantic, male vocals, love, sad, emotional

Snuskar Mareld
Snuskar Mareld

male vocalist,hip hop,french hip hop,hardcore hip hop,pop rap,urban,boastful,swedish

Roar of the Friendly Lion-Man - Instrumental
Roar of the Friendly Lion-Man - Instrumental

chinese Guzheng, fast-paced, trumpet

Порочный круг
Порочный круг

Phonk style,bass, epic drop,atmospheric, rap,rock,trap, drift

Under the Moonlight
Under the Moonlight

French house, electró dance, disco, voix masculine

I must go
I must go

synthwave, melodic, low-pitch vocals, deep resonant female vocals, chord progression: i-i-VI-V

Shining Future
Shining Future

vocaloid piano drums beat pop j-pop japanese active rock

test
test

Medieval, Fast rhythm, Storytelling, piano, Symphony, Dark ,female chorus, Epic sense ,solemn and stirring ,major key ,

Golden Tears
Golden Tears

aggressive drum and bass

Galactic Odessey
Galactic Odessey

instrumental,film score,classical music,cinematic classical,western classical music,classical,soundtrack,orchestral,film soundtrack,science fiction,epic,fantasy,space,lush,opera,suspenseful,romanticism,Tchaikovsky,John Williams

Bubblegum Skies
Bubblegum Skies

k-pop,organ glitchsynth Atmospheric minimal,chorus with lyrice,female voice,catchy chorus,rap part after the chorus,

Neon Dreams
Neon Dreams

synthwave dreamy electronic

夜のサウンドトラック
夜のサウンドトラック

Lo-Fi , J-pop , radio , girl , hip pop

The Viking's Vow
The Viking's Vow

dramatic rock powerful

We are the rebels
We are the rebels

distorsion guitar intro, rock, guitar solo

Groovy Moves
Groovy Moves

Funky disco heavy bass