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

추천

Sommertanz
Sommertanz

fast dance happy german medieval folk lively cheerful

Together with My Cat
Together with My Cat

soulful uplifting dreamy

Yolcu
Yolcu

G-sharp major, 109 bpm, Synthwave, French house, Nu disco

Faded Memory
Faded Memory

k-pop dreamy atmospheric

Nile Whispers
Nile Whispers

acoustic melodic country

Fool's Gold
Fool's Gold

Metalcore, hard riff, breakdown

Бармаглот
Бармаглот

death metal, power metal, heavy metal, male voice

Eternal promise - PSX Classic RPG
Eternal promise - PSX Classic RPG

videogame psx music rpg

Galactic Heart
Galactic Heart

Female Vocal, Indie Pop, Cosmic, Upbeat, Melodic

Shadows and Demons
Shadows and Demons

house, pop, deep, beat, upbeat

T'was back in the day
T'was back in the day

Primitivism, country, acoustic guitar, old man vocal, blues, melancholic

El Camino a Casa salsa 2
El Camino a Casa salsa 2

Ritmo clave 2-3. Percusión vibrante: timbales, congas. Piano montuno Trompetas potentes. Bajo marcado. Coro armonioso.

Bipolar Serenade
Bipolar Serenade

jazz goa trance liquid drum and bass

10 Kleine Jägermeister
10 Kleine Jägermeister

Symphonic, orchestral with massive male choirs, epic, warlike and martial, rhythmic and percussive, grandiose

reply
reply

boppy goth new wave

Street Steppin'
Street Steppin'

groovy funky hip hop

Lonely Nights
Lonely Nights

emotional afrobeats rhythmic

Old School Grind
Old School Grind

gritty gangsta rap hardcore