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

推荐歌曲

Amentzu Miellu
Amentzu Miellu

acoustic melodic traditional

just a music
just a music

cute girl

Wait
Wait

Melodic radio new school east coast hip hop rap, winter vibes, cyberpink

Aurora Seriate
Aurora Seriate

Rock anime opening

Ana Caramonéte
Ana Caramonéte

FORRÓ ARRASTADO

Moonlit Stroll
Moonlit Stroll

lofi hip hop piano jazz

Soul uplifting
Soul uplifting

60ties vintage, chicago Soul, gospel, uplifting, deep, Female Background Choir, Strings, Percussion, no drums

Locked Away
Locked Away

Funk Rock. Riff-Heavy. Groovy. High Male Vocalist. Samba. Chill.

From Another Life
From Another Life

atmospheric smooth chill pop

The Pirate King
The Pirate King

folk, sea shanty, rhythmic, soft rock, male pirate vocals

Moonlit Shadow
Moonlit Shadow

k-pop emotional melodic

Uykumda Bir Rüya
Uykumda Bir Rüya

Slow hard rock Beg emotional dramatic gothic r&b rock cello, female voice, psychedelic, rock, hard rock

Os Diários do Nie
Os Diários do Nie

pop acústico melódico

Sonbahar - Rainer Maria Rilke (V3)
Sonbahar - Rainer Maria Rilke (V3)

dark gritty synthwave, female soprano

Yamanote line
Yamanote line

Vocaloid, j-pop, citi-pop, female, catchy, idol, lovely

Dracula's No-Smoking Zone
Dracula's No-Smoking Zone

pop rock humorous

Maafy⁵
Maafy⁵

Cinematic Composition is as per the sargam., romantic, 90s, melodic, dreamy, catchy, male voice.

It's So Good (MMM MMM)
It's So Good (MMM MMM)

Does it matter what I put in here?