quicksort.h

Female celtic vocals, Epic cinematic scores, sweeping orchestral movements, adventure music

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

推荐歌曲

Tom Bombadil
Tom Bombadil

Hardcore crossover thrash, fast-paced, aggressive, hardcore punk vocals

Forest of Life
Forest of Life

melodic acoustic folk pop

La Dama del Velo Negro 3
La Dama del Velo Negro 3

Dream Pop, Indie pop, female singer,

Finding My Voice with Suno
Finding My Voice with Suno

Synth Leads, Electronic Drums, Funky Bassline, Piano/Keys, Quirky Sound Effects, Empowering, : Smooth Melodies, 180 BPM

Psychedelic Rainy Day
Psychedelic Rainy Day

acoustic bluegrass psychedelic

Dil Ka Safar
Dil Ka Safar

lofi mellow dreamy

My World Without You
My World Without You

country acoustic melodic

i habeeb
i habeeb

Appalachian death metal, bluegrass, heavy breakdown, banjo solo, animal sounds

Victorious Return
Victorious Return

anthemic melancholy acoustic

Have Mouth Love With Me
Have Mouth Love With Me

Hip Hop, documentary, funky beat, snare drum, base guitar

未来へ
未来へ

Reggae, Rock, Alternative, Punk rock, Ska punk

To the Moon
To the Moon

Japanese, Lo-fi

seclusion
seclusion

Lo-Fi HIP-HOP productions.[BPM range 70-80][fadeout] relaxing,floating,funkysoul,chill,drunk beat, quiet day,mysterious,

Лысый Женя
Лысый Женя

ностальгический ретро синти-поп

Rainy Day Blues
Rainy Day Blues

Lo-fi soul, Chillhop, Vinyl crackle, Field recordings, EDM

Pixelated Dreams
Pixelated Dreams

energetic 8-bit chiptune

Cyberpunk 2077 V and Jackie
Cyberpunk 2077 V and Jackie

Hardstyle, sad, Cyberpunk, cyberpunk aesthetic, powerful male voice

A KIRÁLY ÉS A HÓHÉR
A KIRÁLY ÉS A HÓHÉR

abstract hip hop, dub, galactic, nu jazz, deep house, trip hop, phonk