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

Legends Never Die
Legends Never Die

folk, sea shanty, soft rock, male pirate vocals, emotional

Memories
Memories

romantic slow relaxing guitar and piano 1960's ballad

Breaking the Limits
Breaking the Limits

hard rock pop aggressive

Wild and Free
Wild and Free

80's hair metal, make

Splendid Q-U-E-E-N-S
Splendid Q-U-E-E-N-S

kpop girl group, modern reality, loud, kpop hiphop, charismatic, savage, special, dance, highnotes, rap,loud

Forever our Secret by Elliott Hitchcock
Forever our Secret by Elliott Hitchcock

Indie pop, acoustic guitar, hooter solo, alternative rock, male vocals, The Hooters, piano

Magical Frequency
Magical Frequency

1956 doowop radio hit,male lead singer,back up singer melody

Boardroom Battler
Boardroom Battler

hip hop,east coast hip hop,electronic,electronic dance music,electro,classic

Humanity 🧬
Humanity 🧬

Minimal tech, subtle bleeps, deep pulse, micro-edits, dynamics, surprising, polished sync, full dance journey banger

#퍼펙트_러브(Perfect Love)
#퍼펙트_러브(Perfect Love)

ballads, piano, acoustic guitar, strings, drums, organs, trumpet, flute, bass, orchestra, choir

Sunny Day
Sunny Day

speedcore, guitar, metal, rock, heavy metal, hard rock, bagpipes, celtic

Watashi no aisuru tsuma
Watashi no aisuru tsuma

Pop Rock Male Voice Rock Anime

Genetic Love
Genetic Love

Vocaloid, genetic engineer, experimental electro

MODLITWA JEZUSA ARCYKAPŁANA (EW. JANA 17)
MODLITWA JEZUSA ARCYKAPŁANA (EW. JANA 17)

male vocal, country, rock, ballad, epic, drum, guitar, piano, clapping hands, orchestral, happy, disco, cinematic

Night Pulse
Night Pulse

electronic dark 90's house atmospheric

Reggae Super Hit
Reggae Super Hit

catchy 1970s reggae masterpiece, electronic piano, synths, steel drum, sitar, guitar sections, deep bass, far out,groovy