quicksort.h

Epic cinematic scores, sweeping orchestral movements, heroic themes, and stirring emotional peaks, adventure,

July 27th, 2024suno

가사

#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

추천

Lightkeepers Crusade
Lightkeepers Crusade

Medieval Metal

Crispy bass
Crispy bass

phonk, super mario music

time flows
time flows

Romantic style, rapid piano, down-tuned, 100 bpm, swirling melodies, emotional depth, major key, depict flow of time

Kunju, मेरी जान
Kunju, मेरी जान

soulful bollywood romantic

Voda a čas 8
Voda a čas 8

Slow female folk song, acoustic guitar, classic romantic piano

The Scene of Okinawa
The Scene of Okinawa

largo, k-pop, melancholy, classic, folk, j-pop, lyric, sweet

Chipper
Chipper

Chiptune lead, cyberpunk space pirate, Fast paced, EDM, House

low strings low requirements
low strings low requirements

post-instrumental post-classical post-cello post-doublebass dark ambient sounds low tempo

Walk away
Walk away

Korean style singing rap, korean style rap, male raper, male voice, powerfull rap Pop-Rock/Alternative/Male lead

Mike's Quiet Struggle
Mike's Quiet Struggle

reflective acoustic somber

Wounded Kingdom
Wounded Kingdom

cinematic orchestral melancholy

we will shape our fate
we will shape our fate

Catchy Instrumental intro. [electro swing- witch house].

Mountain Shadows' Roar
Mountain Shadows' Roar

jaw harp solo heavy breakdown bluegrass appalachian death metal

涙に隠れる
涙に隠れる

Traditional Japanese folk,Japanese rock,beat

Falling for You
Falling for You

melodic pop

Victory in Bangkok
Victory in Bangkok

pop uplifting