quicksort.h

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

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

Tales of the Roaring Deep
Tales of the Roaring Deep

eerie dark rock intense

Культистке - Grimwind (Anime Cover)
Культистке - Grimwind (Anime Cover)

Anime opening, Indie rock, emotional,

Le Taxi Rapide de Paris
Le Taxi Rapide de Paris

Rap, hip hop, piano, french accordion

Bind of Affliction
Bind of Affliction

male vocalist,rock,metal,alternative metal,heavy,avant-garde metal,nu metal,aggressive,angry

Jalan Kedamaian
Jalan Kedamaian

spiritual soulful roots reggae

Heartbreaker Hotel
Heartbreaker Hotel

cool jazz trio slow female breathy vocals acoustic tSoulful, Jazz, Torch-Lounge,

Снег и Тишина
Снег и Тишина

мелодичная акустическая патриотическая баллада

이진성- Binary Star
이진성- Binary Star

Dark Electropop,darkwave,ethereal,melancholic vocal,drum beats,minor keys,distorted synth,male singers,k-pop, rap, beat

Engine Roars & gunshot
Engine Roars & gunshot

Sampling Sound Fx Gunshots sound fx Engine Roars simulator record scratch sampling effects car horn sound birdcall

Fading Memories
Fading Memories

heartfelt emotional slow piano ballad

Astronauci
Astronauci

electropop

Fast women and whiskey
Fast women and whiskey

American Blues Primitivism

Midnight Drive
Midnight Drive

Aggressive hyperpop metal beat, 180 bpm, high-energy synths, distorted guitars, intense bass drops, powerful male vocals

あなたの心のひととき(Glimpse of Your Heart)
あなたの心のひととき(Glimpse of Your Heart)

80's r&b funk lo-fi mellow synths vaporwave

When the Tears Finally Fall
When the Tears Finally Fall

emotional melodic pop

Left Behind
Left Behind

r&b acoustic emotional hip hop

The Mantras'
The Mantras'

Ancient ancestorial gothic Nordic war Chant Vikings

Dancing Under Stars
Dancing Under Stars

japanese,femalesinger, pop, rock