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

추천

Нова Робота
Нова Робота

ethereal, j-pop, house

Mekzite (PHONK7)
Mekzite (PHONK7)

Happy Phonk, Fast, Short, Pro Mix

Midnight Reverie
Midnight Reverie

Electronic, Drum and Bass, Ambient, Downtempo, phonk, Liquid Funk, Neurofunk, IDM, Trip Hop, house

Whispers on wings
Whispers on wings

An Angelic Bass boosted Lofi EDM with pianno in style with fade out smooth at the end of the song

Häät Onnelan Navetassa
Häät Onnelan Navetassa

anthemic feel-good soft high tempo pop/edm

Makan Yuk
Makan Yuk

children's playful

Di Ba't Masaya Tayo (Ain't We Got Fun)
Di Ba't Masaya Tayo (Ain't We Got Fun)

Japanese city pop, retro K-pop, layered, scat, giocoso, scherzando, full orchestra, full band, electric piano, Tagalog

Cardboard fence particles
Cardboard fence particles

Electro-funk, electro, bass, electronic, complextro, dubstep, geometry dash, heavy, hardcore, dance, funk,

Stalker
Stalker

Youtube Backgroundmusic, Phonk

Strength in the Stripes
Strength in the Stripes

rap agresivo energético y motivacional

Wings of Hyrule
Wings of Hyrule

folk acoustic nostalgic

Fried Rice Frenzy
Fried Rice Frenzy

80s punk rock orchestral choir hybrid

Baroque Solitude
Baroque Solitude

instrumental,classical music,western classical music,solo piano,Johann Sebastian Bach

Whispers in the Wind
Whispers in the Wind

A contemporary classical music piece for a flute and a viola.

The Buttredettes - Vesperanz
The Buttredettes - Vesperanz

Melismatic female singer, French movie soundtrack, piano, accordion, cello, melancholic, weird, 3/4, lydian, minor key

EDM madness
EDM madness

BPM: 150, edm, deep house, melodic techno, bass boosted

Hope of Fear but Subside
Hope of Fear but Subside

Country Pop, Contemporary Country Tropical Rock, Country Rock, mellow, longing, sentimental, summer, love, bittersweet,

What is Wrong with Me?
What is Wrong with Me?

indie, indie pop, ukulele lead, bedroom pop, male singer, single male singer, single instrument, clear voice