quicksort.h

Female celtic vocals, Epic cinematic scores, sweeping orchestral movements, adventure music

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

추천

void
void

Metalcore, female vocal, Djent, melodic, Alternative Metal, heartfelt

"Guitar Lullaby"
"Guitar Lullaby"

Lo-fi Hip Hop, Slow and Quiet, Gentle Beats, Soft Guitar, BPM65

Irene
Irene

hip hop rhythmic

Prayer of Saint Francis v3
Prayer of Saint Francis v3

Ambient Atmospheric Metalcore

Dak med Shubberne
Dak med Shubberne

Hardcore EDM,intense bass drops,high energy,fast tempo,powerful beats,Prestissimo,bass,saw lead,female singer

объект 216
объект 216

Dark Ominous Russian 90's Drum & Bass, Russian Voice

Море Ждёт
Море Ждёт

электронный deep house ритмичный

Wu wei Ai - Kratka Meditacija
Wu wei Ai - Kratka Meditacija

new age,ambient,meditative,sparse,mellow,soothing

В край былинный. В глубь веков
В край былинный. В глубь веков

folk epic ballad, orchestral, Dulcet male , guitar Flageolet 4/4,lute,emotional romantic voice at the end,lute, pride,

Neon Truth
Neon Truth

electronic,electronic dance music,trap [edm],dance,trap,party,uplifting

teuflisches schreiben
teuflisches schreiben

surf instrumental guitar psychobilly female vocalist meteors dick dale

TeenTaal Rock
TeenTaal Rock

Tabla, dhol, drum, guitar, cinematic

نور خورشید
نور خورشید

emotional ballad pop

8-Bit こねこのカゴメ
8-Bit こねこのカゴメ

8-bit Stoner, nintendo, technical dev metal

懐かしい街角の喫茶店
懐かしい街角の喫茶店

electronic romantic lofi 

Melody
Melody

electronic acoustic Spoken Word female high-energy

Rusia Baila
Rusia Baila

electronic,dance-pop,dance,electronic dance music,synth-pop,electro

Play With Me
Play With Me

playful pop