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

Hitam dan Putih
Hitam dan Putih

Rap, music electric

Deli Aşk - Dark Version
Deli Aşk - Dark Version

Dark techno agressive trap turkish vocals

путь Дантэ
путь Дантэ

rock, hard rock, metal, heavy metal

Vegas Wedding
Vegas Wedding

electronic pop

ふぉふぉゆー
ふぉふぉゆー

female voice, kpop girl group, electro

Unbreakable Rhythm
Unbreakable Rhythm

female vocalist,pop,k-pop,electronic,dance-pop,dance,energetic,electropop,uplifting,party,mellow,punk pop

波のささやき
波のささやき

ゆったり lofi 環境音

Co-Coaching | Fundamentals
Co-Coaching | Fundamentals

edm, electronic, bass

Lift Me Up
Lift Me Up

trap, rap

sound of spring
sound of spring

Lyrical, cadenza, symphony orchestra, sadness to passion, E minor to B major to E minor, crescendo to decrecendo, sonic

Midnight Groove
Midnight Groove

neosoul hip-hop r&b smooth

Ogoi
Ogoi

TikTok beat style

walk
walk

electro, slow, sad, girl voice

楽園
楽園

mellow, chill, synth, lo-fi

Caboclo desconfiado
Caboclo desconfiado

Modao caipira de Goiás com viola no início e no final

OM MANI PADME HUM
OM MANI PADME HUM

Meditative Sound of Buddhist, epic orchestra, symphony, chorus and melody, major orchestra, violins, Strings, cinematic

**Dragon Wings: The Tale of the Unnameable** v2 | Full
**Dragon Wings: The Tale of the Unnameable** v2 | Full

Dark, Symphonic Power Metal, Electric Guitar

Maestro of My Fate
Maestro of My Fate

Violin, trumpet, piano, hand claps, Snare Drum, Male vocal, rythms, upbeat,