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

Hope's Horizon
Hope's Horizon

female vocalist,electronic,dance-pop,dance,electronic dance music,melodic,house,rhythmic,energetic,electropop,synthpop,atmospheric,triumphant,repetitive,futuristic,passionate,electro house

Missing Cat
Missing Cat

hip hop urban beat rhythmic

Broken Echoes of Time
Broken Echoes of Time

minimalist avant-garde classical dissonant

Заживо съели
Заживо съели

гитара рок энергия

血と闇
血と闇

japanese gothic metal dark heavy

曾經的曾經
曾經的曾經

Male Vocal, synth, dark

Ingress in Soul
Ingress in Soul

soul drum and bass piano anthem electronic

Trapped
Trapped

female vocals, rock, rnb, alternative, edm, heavy, anthem, melancholic, emotional

La Calma
La Calma

catchy, violin, male voice, deep, dreamy

Thrill of the Road
Thrill of the Road

Beatbox, Dubstep, Mouth Music, Professional Beatbox, Realistic Human Beatboxing, Boots & Cats, Electronic

Turnabout Melody
Turnabout Melody

dramatic orchestral sweeping

SAH REMAKE TS
SAH REMAKE TS

Pop country folk rock alternative,

Summer Eternity
Summer Eternity

female vocalist,electronic,electronic dance music,trance,progressive trance,energetic,tech trance,rhythmic,melodic,atmospheric,hypnotic,nocturnal,anthemic,deep house

IMG_0168
IMG_0168

Kids Music, Dark, Occult, Crusaders, Catholic, Powerful Male Vocalist

A New Horizon
A New Horizon

Southern rock, country, rap

Maryenis Esposa Mía
Maryenis Esposa Mía

battle rap, free jazz, contemporary r&b

Reality's Grip
Reality's Grip

hard rock aggressive fast

Helden des Alltags
Helden des Alltags

modern pop, synth, piano, guitar