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

Recommended

Groovy Koala Tees
Groovy Koala Tees

laid-back smooth yacht rock

guitarrón mexicano djent II
guitarrón mexicano djent II

djent funk guitarrón mexicano techno

Bir Rüya
Bir Rüya

rap, trap, bass, drum, beat, female voice, melodic, catchy.

Macho Man
Macho Man

hard rock hardrock aor

Auburn Glance
Auburn Glance

female vocalist,dance,pop,dance-pop,teen pop,love,energetic,playful,party,passionate,rhythmic,anthemic,nocturnal,longing,uplifting

Ain't No Competition
Ain't No Competition

aggressive trap rap

Пам'ятай О. Олесь 1931 р.
Пам'ятай О. Олесь 1931 р.

Soulful male Vocal, acoustic remix, cello, Ukrainian folk, Instrumental Fusion, Lyrical Phrasing

Beats to Sheets
Beats to Sheets

Sexual, Seductive, 80's, dance

Streets of Shaolin
Streets of Shaolin

1990s gritty New York Hip hop beat, violins, r&b background vocals, hip hop sample,dj scratching,wu-tang clan

Aye-Aye
Aye-Aye

reggae/african-tribal. Good vibes. Pronounce Aye as Eye. Vocal: male and tribal choir. 90bpm.

tes1
tes1

Metal progressivo, Alternativa/indie,post-hardcore,female vocals,calm, emo

Legend of night
Legend of night

nordic rock, orchestral, medieval, lead violin

waltuh
waltuh

Breaking Bad

Block Party
Block Party

pop electronic

Hasii miyaa
Hasii miyaa

(Hit The Electro Beat) is a dance-pop and electro swing,Pop music,Indian Indie,Indian Pop

Neon Lights
Neon Lights

electronic trap

Фестиваль Жизни
Фестиваль Жизни

pop динамичная веселая