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

추천

Lazy Days
Lazy Days

uplifting synthwave, female singer

Jawaban Doaku 2
Jawaban Doaku 2

pop rock, romantic rock, elegan song, easy listening, male vocal

BS3
BS3

MASTA - STUDIOS anthemic funk male singer studio recording uplifting Hip Hop Guitar Drums synthesizer Scratch Triangle

Monkey
Monkey

Bass Music Monster spans, Dubstep, Moombahton, dubstepcore, brostep, catstep, tracestep, monkey fx

True Colors
True Colors

pop,female singer

Mihrk's Guiding Light
Mihrk's Guiding Light

inspiring rhythmic pop

Who Pooped?
Who Pooped?

classical,polka,european music

echoes of the void
echoes of the void

jazz,punk,echo,linkin park .trance,dub step,male, rock, funk, metal, nu metal,bass, drum

Groene Groeven v2
Groene Groeven v2

energiek beats-driven hiphop, techno

一起去旅行好不好
一起去旅行好不好

Bossa nova, male voice or female voice, sweet and romantic, breezy, catchy chorus

Moonlit Echoes
Moonlit Echoes

chillout soulful soft beats

Shadows of Desire
Shadows of Desire

groove 80s rhythmic elements downtempo synth echo dark intense emotional feeling

Deer Bro
Deer Bro

acoustic gentle reflective

Banana Rotation
Banana Rotation

funky jazz-fusion

Surf’s Up, Hyphy Style
Surf’s Up, Hyphy Style

Hyphy, Hyphy rap, Hyphy hip hop, intense

Royal Bhangra Grooves
Royal Bhangra Grooves

Kali kali gdi wicha beta tera yar panjabi song ,jazz,

Silent Echoes
Silent Echoes

Co-pop, rap

《Again unscarred》
《Again unscarred》

heartfelt rock. piano. female vocal

Crazy Love
Crazy Love

male, melodic pop