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

추천

Slide
Slide

stevie ray vaughn,slide guitar, dueling guitars,high tempo blues guitar, technical guitar, fast, high speed,guitar solo

攪拌吧我的夢!!
攪拌吧我的夢!!

futuristic, electronic, pop

आर्यन दादा रोकडे आहे महान
आर्यन दादा रोकडे आहे महान

male voice, aggressive, orchestral, female voice, epic, acoustic, electro

ঢাকার ট্র্যাফিক"
ঢাকার ট্র্যাফিক"

male singer, hip hop, boom bap, hi fi brass section ,melody, punk

1euphoria
1euphoria

Trance Psychedelic Rock Goan Trance Breakbeat Hardcore Freestyle Euphoria

icy melody
icy melody

epic, melanchonic, ethereal, dramatic, emotional, bass, catchy.

Like Lemonade
Like Lemonade

2020s, POP, Citypop, Dance, beat, catchy sound, positive mood, smooth sound.

Т. Шевченко Заповіт
Т. Шевченко Заповіт

death-doom metal, dark metal, male voice

Sem Forças Prossigo
Sem Forças Prossigo

rock, rnb, alternative, edm, heavy, anthem, melancholic, emotional

凃星宇 快樂放暑假
凃星宇 快樂放暑假

House, techno, pop

دم بیرون
دم بیرون

deep house.focused female vocal, soft sexy vocal, deep synth, witch house

New York calling
New York calling

gangsta trap beat with a catchy, funky melody, a fat beat and two rappers, one female voice and one male voice

Lucifer's Descent
Lucifer's Descent

instrumental,instrumental,rock,metal,gothic metal,melodic,romantic,dark,atmospheric,energetic,aggressive,heavy metal,epic

Smooth Guitar Rhapsody
Smooth Guitar Rhapsody

male vocalist,rock,alternative rock,pop rock,jangle pop,humorous,playful,introspective,melodic,soft rock,bittersweet,passionate,breakup

Hearts Aligned
Hearts Aligned

acoustic melodic pop

Oh Lord I'm Lost
Oh Lord I'm Lost

Gritty, soulful blues rock. Lo fi, mid tempo

далеко не м   = 38   1й ст. 10й пр.  14.04
далеко не м = 38 1й ст. 10й пр. 14.04

trendy pop-electro-rock. crystal clear and trendy instruments, bass, tempo, voice and choir