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

Amor de Viento
Amor de Viento

banda envolvente festiva

Keep Your Head Up
Keep Your Head Up

pop bouncy piano-driven

Echoes of Us (우리의 메아리)
Echoes of Us (우리의 메아리)

K-pop, female voice, emotional melody

Swing my Apollo
Swing my Apollo

Jazz, trumpet, swing

Együtt az út
Együtt az út

folk citera melodic

窓辺
窓辺

bedroom pop, cat, chill out, emotional afternoon, ballad

Healthcare workers’ blues
Healthcare workers’ blues

Blues rock groove with a steady 90 bpm, gritty electric guitar riffs, strong backbeat from the drum, deep bass lines, a

宇宙の戦士2-2
宇宙の戦士2-2

intro, anime, robot, pop,

Rebel Ascent
Rebel Ascent

Punk Rock

Neon Rhythms 01
Neon Rhythms 01

electronic house upbeat

Stronger Together
Stronger Together

female voice, edm, electro, electropop, bass, drum

My dear friend [星光下的呢喃]
My dear friend [星光下的呢喃]

Taiwanese accent, lo-fi , K-pop

The Gender-Bender Swing
The Gender-Bender Swing

1950s jazz lively

Concrete Jungle Dreams
Concrete Jungle Dreams

Doom metal, sludge metal, guitar-heavy, melodic, slow tempo, swampy, fuzzy, phased, distorted bass, retro production

Raja Kematian
Raja Kematian

hip metal nordic ethnic

Rain☔
Rain☔

Catchy Instrumental intro. [electro swing- witch house]. sweet female vocal, [witch house]

Shadows of the Night
Shadows of the Night

ambient haunting minimalistic

Cennet
Cennet

female voice, male voice, rap, trap, hip hop, guitar