quicksort.h

Epic cinematic scores, sweeping orchestral movements, heroic themes, and stirring emotional peaks, adventure,

July 27th, 2024suno

Lyrics

#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

Recommended

Les Règles du Bitume
Les Règles du Bitume

french edm rap-pop

Celebration to Valor
Celebration to Valor

instrumental,film score,western classical music,classical music,cinematic classical,orchestral,mysterious,suspenseful,epic,sombre,melodic

os planos de DEUS
os planos de DEUS

pop.rock ntense, aggressive, rock, guitar

Streetlights
Streetlights

edm electronic

四月,一只仇恨死亡的蝴蝶
四月,一只仇恨死亡的蝴蝶

experimental bedroom pop

소중했던 시간
소중했던 시간

High-pitched and plaintive voice Rich instrumental arrangements Emotional expressiveness 3/4 time signature Warm voice

Journey of Fire
Journey of Fire

rock driving rhythm epic

Inanna's Rapture
Inanna's Rapture

female vocalist,male vocalist,regional music,hispanic american music,hispanic music,melodic,warm,rhythmic,tropical,phonk

ねこみやのる
ねこみやのる

kawaiifuturebass

Mein Monster
Mein Monster

pop elektronisch energisch

Warriors of the Cosmos
Warriors of the Cosmos

orchestral epic dramatic

In the Name of Jesus
In the Name of Jesus

funky country music, groovy bass, piano roll

Percussive Elegance
Percussive Elegance

instrumental,instrumental,instrumental,instrumental,instrumental,ambient,classical,contemporary classical,pop

Synchrony
Synchrony

trap, orchestral, 808

Lex seiya
Lex seiya

anime, japanese, rock, hard rock, j-pop, guitar, drum, bass, acoustic guitar

넘어져도 꿈을 향해
넘어져도 꿈을 향해

female vocalist,pop,k-pop,dance-pop,contemporary r&b,r&b,dance,anthemic,rock ballad

Lyrical Genius
Lyrical Genius

rap fast-paced intense

El Pueblo Bailador
El Pueblo Bailador

cumbia rhythmic smooth guitar