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

추천

безваріантна спорідненість
безваріантна спорідненість

hip hop,electronic,alternative rock,punk,experimental

グレープフルーツ
グレープフルーツ

miku, vocaloid, chill, trap

Flower
Flower

chill grunge, alternative rock, female voice

Hare Krishna
Hare Krishna

devotional romantic bollywood, cinematic

Дашенька
Дашенька

catchy, pop, metal

Fading Shadows
Fading Shadows

rhythmic afrobeat atmospheric

Түнкү Бий
Түнкү Бий

pop, electronic with pulsating synths, thumping basslines, and bright melodic hooks, eurodance

Rhythm Rover
Rhythm Rover

scat singing, electro swing, electro jazz

Beautiful Things
Beautiful Things

New age,Lyrics,Poetic,Lo-Fi,Variety of instruments,Out of the ordinary melodies

Last Dance
Last Dance

experimental grime edgy

Unholy Kin 1.1
Unholy Kin 1.1

harsh metal punk fierce aggressive

03. Black Whole
03. Black Whole

Ambient dub reggae instrumental 92 BPM, dubby echoes, horns, distortion, reverb, androgynous vocals, add 1:38

Magia de Colores
Magia de Colores

rock and roll alegre enérgico

Mystic Mirage
Mystic Mirage

dark ethereal atmospheric melodic

Revolution
Revolution

Post-hardcore, Experimental, Avant-garde, Alternative rock, No Wave, Post-rock, Industrial sounds, Math-rock

Chasing Sunsets
Chasing Sunsets

rus,emo, emotional, pop

Bracia, bratři, braća, братја
Bracia, bratři, braća, братја

powerful, uplifting, rap, gothic male vocal, uplifting, powerful, strong , horns, drums, electric guitar, rap

Extended Mix Covid-19 2025
Extended Mix Covid-19 2025

electronic reflective

Vintage Soul Power
Vintage Soul Power

rétro funk groove hypnotique

Retro gaming - Neephtys
Retro gaming - Neephtys

pokemon, gameboy, retro, chiptune, evil hideout, lair, danger, ominous, medieval, fantastic