quicksort.h

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

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

추천

Adolf hitler
Adolf hitler

Hitler type German words

Tempest's Might
Tempest's Might

Orchestral Fanfare, Driving Rhythms, Woodwinds and Strings, Heroic Melodies, Choral Elements, powerful Crescendo,

手放開
手放開

pop repetitive

Pentatonic Scale
Pentatonic Scale

Sudanese traditional music with fast rhythm, pentatonic scale, featuring oud, tambour, and congas, evoking vibrant folk

Whispers in the Wind
Whispers in the Wind

melodic country acoustic

Saber Sin Fin
Saber Sin Fin

male vocalist,latin pop,rock,pop rock,dance-pop,electronic,adult contemporary,longing,romantic,sentimental,violin

Liquid Melodies.
Liquid Melodies.

Liquid Dubstep

Chasing Rainbows
Chasing Rainbows

rock, punk, guitar, bass, hard rock, metal, drum, drum and bass, electro, nu metal

Under the Night Sky
Under the Night Sky

melodic deep house turkish

Nature's Embrace
Nature's Embrace

emotive slow orchestral

cucuku yang cantik
cucuku yang cantik

80s, synthwave, orchestral, sad, ballad, drum and bass, dance, female vocals

Mary's Blue Lamb
Mary's Blue Lamb

male vocalist,r&b,soul,southern soul,love,warm,mellow,melodic,rhythmic,soulful,emotional,classic blues

Montañas del Alma
Montañas del Alma

armonía compleja guitarras resonantes rock sudamericano

Ha virág leszel
Ha virág leszel

Dark mystic acoustic guitar

Rush
Rush

orchestral energetic pop

car
car

rap, hip-hp, electro, swing, pop rap

Swamp Blues Requiem
Swamp Blues Requiem

gospel blues swamp blues deep and sad strong percussions

Dreaming in Shadows
Dreaming in Shadows

pop acoustic reflective