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

추천

A reményhez
A reményhez

hungarian symphonic rock, epic, dark voices choir, electric guitar intro

爱莲说
爱莲说

中国古风,古筝,悠扬,优美,婉转

winter stroll
winter stroll

experimental haunting atmospheric

Соседи-Ублюдки
Соседи-Ублюдки

энергичный тяжелый рок агрессивный

Cuñado del Primo
Cuñado del Primo

rhythmic latin pop

I didn't remember
I didn't remember

blues rock, dream pop, ethereal wave, bounce drop, beat, emotional, hard bass, lo-fi house

泥娃娃
泥娃娃

R&B, Spooky Halloween, Soul, Violin, Piano, Female singer, sweet vocal

ネオン夜景
ネオン夜景

female vocalist,rock,j-pop,energetic,j-rock,melodic,alternative rock,pop rock,passionate

Un Minuto de Amor
Un Minuto de Amor

dramática romántica zarzuela

Neon Nights
Neon Nights

fast beat moody synthwave

No Stress
No Stress

hip hop rhythmic

Zener Cardi
Zener Cardi

urban hip hop, heavy bass, futuristic production, aggressive rap, explosive beat, revolutionary, minor key

ETERNAL ECHOES FOR TINA
ETERNAL ECHOES FOR TINA

indie-pop soulful dreamy psychedelic

mind….-/
mind….-/

dark indie, ethereal, upbeat, indie, ambient

Miami Sun
Miami Sun

Chill Out Deep House Vocal Cover

Boss Theme
Boss Theme

Epic, final boss, battle theme, beat'em up ost, chiptune, orchestral, driving rhythms, eerie melodies, urgent tension.

Bass Bounce Frenzy
Bass Bounce Frenzy

low vocaloid bass electronic funky fast breakcore

Faded Blue Jeans
Faded Blue Jeans

rock,folk rock,rock and roll,country rock,americana,southern rock

Batalha do Amanhã
Batalha do Amanhã

orquestral épico percussão