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

추천

Artist - Evgenol
Artist - Evgenol

Neco arc voice, dark, touchy, violin, dark, Ado,

Jet le Papillon
Jet le Papillon

whimsical light acoustic classic chanson française

Path to Serenity
Path to Serenity

spiritual new age ambient

Mi Teléfono
Mi Teléfono

pegajoso pop rítmico

Electric Echoes / Blendfactor
Electric Echoes / Blendfactor

Synthwave/Electronic/Dance

龙的统治 (Die Herrschaft des Drachen)
龙的统治 (Die Herrschaft des Drachen)

ethereal trance chinese fusion

Mastery's Crown
Mastery's Crown

female vocalist,hip hop,pop rap,trap,boastful,energetic

Cosmic Love
Cosmic Love

Indie Pop, with disco influences, drum, guitar, bass

For it All
For it All

Irish Echo-delay New Wave Band, Muso, dreamy Lo-fi chillwave, indie shoegaze, Celtic, Modern Worship, Black Gospel

Lacrimosa (Regina Spektor Cover)
Lacrimosa (Regina Spektor Cover)

wierd slow dark Indie Pop

Finding the New Sound
Finding the New Sound

electric gritty 70s rock

Croakin' in the Moonlight
Croakin' in the Moonlight

Cute Upbeat Lo-fi Pop Song with female vocals

~~ Instrumental Intro - Big Drop ~~
~~ Instrumental Intro - Big Drop ~~

oriental tribal trap baltimore club bass music

Days in Stockholm (lo-fi pop)
Days in Stockholm (lo-fi pop)

sad, rap, slow song, guitar-based, lo-fi pop

비가 내리고 있어요
비가 내리고 있어요

melancholic, sad, pop, piano, guitar, drum, bass

ventilador
ventilador

melancholic dark, melancholic piano, motivational pop, future funk, electro pop, elecro, cyberpunk, robotic