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

Lunar Confessions
Lunar Confessions

instrumental,alternative rock,rock,melodic,passionate,melancholic,dream pop,energetic,rhythmic,atmospheric,mellow,bittersweet,lush,ethereal,introspective,pop rock,warm

Sun
Sun

low riff bass sound, low riff guitar hook, low voice, basa high-flying song opera , energii solo piano, live concert

JUNGLE
JUNGLE

Tribal Drums, Hyper goa psytrance, Acid House, jungle house, drum, drum and bass, dubstep, drops, heavy bass

Descend
Descend

melodic, dream pop, roller skating, dancing, deep, ethereal, reverb vocals, groovy, dreamy, hazy, driving

Travel Love
Travel Love

edm aesthetic vibes vina house

Connected in Disconnection
Connected in Disconnection

anime opening with smooth end

Golden Skies
Golden Skies

rock, metal, pop

Old fashion
Old fashion

High Definition. Cyberpunk. Speedy. Upbeat. Brostep. Piano. Cello.

I'm a good girl.
I'm a good girl.

pop, diva , LoFi, easy listening, happy song

Legjobb Otthon
Legjobb Otthon

pop straightforward

Sound System
Sound System

Toots and the Maytals Rocksteady 60's Studio One Vintage Horns Big Horns Coxsone Oldschool Vintage Reggae Soul

Warrior of the Rising Sun
Warrior of the Rising Sun

dark country, balad: male voice, Acostic, Violins, blues piano, Guitar, emotional warrior, anime

Error
Error

piano reflective pop

Dance of Yearning
Dance of Yearning

PLUGG, R&B, DANCE

Nightlights
Nightlights

guitar bass beats contemporary rnb rhythm instrumental pop piano

森蠕阴影之诡异奏鸣曲(Scherzo Macabre of the Creeping Shadows)
森蠕阴影之诡异奏鸣曲(Scherzo Macabre of the Creeping Shadows)

neo-anti-cello jewish niggun, hyper-anti-piano, experimental Avant-garde, darkly creeping

1987_J
1987_J

jpop, hardrock, male ai.