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

Mirror Soul
Mirror Soul

pop synth-driven introspective

O Zoio Da Coruja
O Zoio Da Coruja

electro dance samba remix

Defender of the Night
Defender of the Night

powerful rock anthemic

Rue des Oubliés
Rue des Oubliés

bossa nova brésilienne antillais jazz

Not This Time
Not This Time

male vocals, sad pop

Through the Seasons
Through the Seasons

classical, soft, slow, beautiful, piano, violins

Endless Skies
Endless Skies

pop rhythmic uplifting

Poisoned Redemption
Poisoned Redemption

powerful edgy rock

Heaven's Ghostly Tones
Heaven's Ghostly Tones

female vocalist,folk,indie folk,contemporary folk,singer-songwriter,melancholic,lonely,introspective,breakup,sentimental,warm,longing,bittersweet

Tornado Twist
Tornado Twist

A chair moving

Where We Used To Go
Where We Used To Go

romantic uk garage

Far beyond what your eyes can see
Far beyond what your eyes can see

country, a voz crua ecoa como um chamado ao coração. Suave, CONTRALTO, melodia acústica, 1115 bpm 4/3

Oi Nišavo
Oi Nišavo

doom, slow, heavy

You Are On My Mind
You Are On My Mind

reggae-bop, eurodance

如果这都不算爱
如果这都不算爱

Lo-fi Bossa Nova, Cozy Bedroom, Innocent Lonely

D - ream
D - ream

1970, psychedelic, punk , sexual, hypnotic. female voice

fever
fever

acoustic folk country pop

The 딸기 (Strawberry) Song (Remix)
The 딸기 (Strawberry) Song (Remix)

Upbeat pop, bright synths, lively percussion, catchy melody, cheerful vibes, C-G-Am-F.