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

추천

key of life
key of life

boombap hiphop,rap,funktype,sampling,scratch,Ethereal

Tie Another On
Tie Another On

revolutionary hiphop, aggressive, loud bass, futuristic production, bounce drop, eclectic, indie rap beat, chord changes

Can't Help Myself
Can't Help Myself

low hard 808 bass grime grind brisk sonota dub post-art-core house vocoid remix requime

Rocket's Roar
Rocket's Roar

electric rock intense

Les Hommes et Les Femmes
Les Hommes et Les Femmes

pop comique joyeux

Как быстро прошло лето
Как быстро прошло лето

sad Chill melodic dubstep future bass

MUJER TU ERES UNA FLOR
MUJER TU ERES UNA FLOR

GUITARRA ACUSTICA

Morena Bonita
Morena Bonita

acústico sertanejo melodioso

nbmotebm
nbmotebm

energetic, edm, pop rock, electropop, emo, melodic, electro, acoustic, electronic, pop, emotional, rock, classical, rock

Tonda je Slepice
Tonda je Slepice

pop playful

Beast of Valhalla
Beast of Valhalla

metalcore chorus edm-infused pop verses

peace with my past
peace with my past

hardcore-rap, hip hop, doubletime-delivery, fast-paced, lyrical, dense-rhyme-scheme, 95 bpm, smooth-melodic

孤独的落叶
孤独的落叶

pop,slow,male,bass,piano

Al Muzzammil Yusuf
Al Muzzammil Yusuf

hard rock, drum, guitar

將進酒-國風Rap版
將進酒-國風Rap版

hiphop,aggressive,chinese rhythms

Endless Night
Endless Night

groovy deep minimal house