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

Echo of the Stars
Echo of the Stars

Synth pop electronic, Femal voice

Herzmaschine
Herzmaschine

synth-heavy european dance pop with driving rhythms and bright female vocals, pop, eurodance

Moonlit Dreams -T
Moonlit Dreams -T

relaxed tempo ethereal melodies smooth basslines

Close.to.you
Close.to.you

Atmospheric electropop, female voice

From the Grave
From the Grave

slow clean guitar emo rap loud bass

Lost And Alone (Updated Version)
Lost And Alone (Updated Version)

Emotional Ballad, Piano, Acoustic Guitar, Female Vocal

姐妹的旋律
姐妹的旋律

90年代的嘻哈,老派说唱,turntablism,黑胶样本,器乐循环 男声

My Color
My Color

progressive metal,offbeat,out of tune,trap

A high-speed flight
A high-speed flight

melodic pop, dream drum and bass, dreamy future bass

弱い回線
弱い回線

dynamic rock electric

La Poesía del Corazón
La Poesía del Corazón

polyphonic samba syncopated spanish Sax orchestra intense chillwave polished with rich harmony soulful

Back To The Heartland
Back To The Heartland

Country, Up-beat, catchy, Guitar Intro

Astronaut
Astronaut

Nu-Pop, German-Pop

BHBFM
BHBFM

synth wave, action, sci-fi

PHONK(AGGRESSİVE)
PHONK(AGGRESSİVE)

aggressive trap phonk, 170 bpm, deep bass sound, dark, metal, auto mixed words, auto add chorus

Chaotic Science
Chaotic Science

dubstep chaotic metal

Sleeping robotic lambs (nana house)
Sleeping robotic lambs (nana house)

nana, melodic, house chill, baby robots sleeping, sythesizer, slow lo-fi

Unstoppable
Unstoppable

high-energy phonk driving