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

Empfohlen

Salve Regína by Luigi Usai
Salve Regína by Luigi Usai

gregorian, heavy metal, sweet, female voice, gentle, calm, sweet

Delta-V
Delta-V

choral, heavy metal

Stuck Inside
Stuck Inside

dubstep, doo-wop, hip hop, theatrical, indie pop, powerful

i made a dog sh*t beat in fl studio
i made a dog sh*t beat in fl studio

big room house. progressive house, festival, 128bpm,

2
2. instrumental
2 2. instrumental

CCM. SOUL, violin, guitarra., piano. celo.

B
B

stoner metal, glitch, idm, deep house, hard house, hard tech, dark trap, key of D sharp, phrygian

사랑고백
사랑고백

romantic japanese anime rock

Plantitas y Flores
Plantitas y Flores

rock pop alegre pegajoso

사랑노래
사랑노래

infectious electropop

Estática
Estática

interlúdio rock dark medo e calmaria

Your eyes
Your eyes

a heavy indie rock anthem

Бомж
Бомж

80's,post-punk, punk, Retrowave, slow, male voice, sad

Štyria jazdci apokalypsy
Štyria jazdci apokalypsy

female voice, Eilish style, dark pop, emo pop,

Come una nuvola in cielo (80s)
Come una nuvola in cielo (80s)

Sophisticated pop-funk, Italian female singer., 80s, synth

Livgiver
Livgiver

electro, edm, pop, upbeat

Road to Freedom
Road to Freedom

pop electronic music dance

Darkness at Dawn
Darkness at Dawn

Orient Erhu melody. music speed as 95BPM. very hard drum beat with bass trap hop.dark

Mikhail Marshall - Territorial Pissings ( Nirvana cover )
Mikhail Marshall - Territorial Pissings ( Nirvana cover )

melodic death-metal, 8-bit, opera, techno