quicksort.h

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

July 27th, 2024suno

가사

#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

추천

Unrequited Melody
Unrequited Melody

Sting, pop, harp, remix

Velvet Abyss
Velvet Abyss

female vocalist,pop,dance-pop,dance,electropop,synthpop,love,playful,uplifting,energetic,melodic

Ты похож на кота
Ты похож на кота

emo rock, female voice

Julia's Sadness
Julia's Sadness

epic hard rock orchestral

Shadow's Embrace
Shadow's Embrace

gloom chorus with falsetto vocal orchestral psychedelic trans

O Dia de Tristanu e Alberto
O Dia de Tristanu e Alberto

acústico pop melódico

I'll Drink to That
I'll Drink to That

Pirate Shanty

Szczurołap z Hameln
Szczurołap z Hameln

flute, folk rock, dark, suspense

Все к чему стремлюсь
Все к чему стремлюсь

indie pop, indie, soul, cinematic

聖誕的夜,如此的醉
聖誕的夜,如此的醉

trance, Lonely, Sad, Heartbreaking, Lyric

響け三味線
響け三味線

Catchy Instrumental intro. female vocal. [shamisen-fast aggressive rap-speedcore-jpop-electro swing-witch house]

DIMA NEW
DIMA NEW

dreamy, pop, drum and bass, indie, electro, male vocal

Let the Wind Blow
Let the Wind Blow

flute,mellotron,sad, piano, violin, drum, bass,organ,guitar,female vocal,

Alive in Borlänge
Alive in Borlänge

electronic pop

Михаил Круг - Владимирский централ | Epic Version
Михаил Круг - Владимирский централ | Epic Version

boss theme epic, grandiose, orchestral, warlike, massive male choir in chorus, despair, sad, melancholy, vocalize