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

The Dark Wind
The Dark Wind

Baritone, Male voice, Dirge, sad

Candy Coated Dreams
Candy Coated Dreams

bubblegum pluggnb pop electronic

y
y

male voice, pop, beat, bass, drum, latin

Hallelujah 哈利路亚 无国界
Hallelujah 哈利路亚 无国界

"Contemporary Christian Music (CCM), Gentle and flowing melody, Comforting and uplifting, Soft piano

some one told me that the town
some one told me that the town

male voices ccr style rock and roll 70s ballad guitar and drums bass

In the Game of Love
In the Game of Love

Indie pop, pop rock, art rock, deep male voice, nostalgic, bass guitar, depressed

Dewa
Dewa

Male rock, alternative rock, indie, emo

송인: 당신을 보내며
송인: 당신을 보내며

Nocturne, Emotional, Romantic, Serene, Lyrical, Melancholic, Soothi

ojitos de miel
ojitos de miel

rítmico bailable reguetón

LOVE IS ELECTRIC (TOMM DROSTE)
LOVE IS ELECTRIC (TOMM DROSTE)

silence, operatic duet, emotional, gothic, dark, symphonic metal, violin

Sunset Serenade
Sunset Serenade

mellow instrumental lo-fi

Badge of Honor
Badge of Honor

A song about being a police officer,rap/hip-hop,beatboxing,piano

Стара любов
Стара любов

Slow balkan etnno Hard rock ballade, soulful.

Roll the Dice with Suno
Roll the Dice with Suno

Punk rock,electric guitar riffs,Motown,Italo-Disco,synthwave,90's rock,mid-tempo

Алая Ртуть
Алая Ртуть

experimental, female vocals ,dark ambient style, energetic wave, psychotropic, progressive, edm, electronic violin

There Goes Chucky!
There Goes Chucky!

70s rock, theme song, multiple male singers, beatlesque

Dear Wife
Dear Wife

Jay Z rap style

Heart Unknown
Heart Unknown

Afro-Trap, male vocals

Eran's Needles of Fury
Eran's Needles of Fury

electrifying aggressive heavy metal