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

Empfohlen

Shattered Existence
Shattered Existence

breakdown-heavy deathcore aggressive

The Nocturnal Witness
The Nocturnal Witness

Doom metal, heavy, minor key

Just Wanna
Just Wanna

Funk Rock. Blue-Eyed Soul. Riff-Heavy. Lush. Unplugged.

Echoes of the Night
Echoes of the Night

flamenco techno electric guitar

Desert Mirage Echoes
Desert Mirage Echoes

instrumental,new age,ambient,meditative,atmospheric,ethereal,soothing,concept album,psychedelic,drift phonk,ancient egyptian music

Neon Synthesis
Neon Synthesis

female vocalist,male vocalist,electronic,energetic,party,repetitive,rock,rhythmic,hip hop,electro house,melodic,uplifting,pop rap

Warrior's Garden
Warrior's Garden

hair/glam metal, incredible electric guitar intro, high notes, 90s, catchy

lofi
lofi

lo fi, deep, slow, lofi

WAYNE
WAYNE

Gospel/Soul Feminino

А он тебя целует extend
А он тебя целует extend

Math-metal, djent, metalcore, guitar riffs, growl vocal

שואל: משה, איפה אתה?
שואל: משה, איפה אתה?

israeli rock alternative

Amor da minha vida
Amor da minha vida

Estilo romântica

אהבה בלב (Love in the Heart)
אהבה בלב (Love in the Heart)

and synth stabs, driving bassline, dance pop, 90s boy band dance pop, pop, boy band, upbeat with layered harmonies

KInder der Nacht
KInder der Nacht

instrumental,electronic,nocturnal,melodic,rhythmic,dark,urban,energetic,electronic dance music,anxious,house

Voyagers of the Infinite
Voyagers of the Infinite

cosmic epic symphonic

Bloody Heart Long Version
Bloody Heart Long Version

Gothic Rock, Orchestra, guitarr, Violine

Pixelated Heart
Pixelated Heart

r&b intricate rhythms introspective

Life lessons.
Life lessons.

R&B, Vibe, Male/female voice, rap.