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

추천

Shy Moves on the Dance Floor
Shy Moves on the Dance Floor

pop, dance, 1978, synth, rhythm, beat

My Aspiration
My Aspiration

reflection, pop, hip-hop, male singer, melodic, bass, trap, drum and bass, male voice, piano

孤独 (Aloneness)
孤独 (Aloneness)

sad, melancholic, depressing, heartfelt, relaxing, acoustic guitar, beautiful, beautiful female voice, sing to sleep

you and I
you and I

modern soul, trap R&B

Moon in Space
Moon in Space

gentle soft acoustic melodic

Rivers to the Sea
Rivers to the Sea

male vocalist,jazz,singer-songwriter,poetic,melancholic,passionate,bittersweet,romantic,sentimental

031 02
031 02

hard hip-hop

Blaze of the Rover
Blaze of the Rover

electric guitar intro, high notes, hair/glam metal, 90s, catchy,dark

Lunar Rescuer
Lunar Rescuer

electronic,pop,melodic,energetic,synthpop,electropop,electro-disco,quirky

Одеяло Данаи
Одеяло Данаи

folk-rock, bard, ballad, male voice Gravelly, minor, the best quality, violin, guitar, piano, cello, flute, male voice

Dona Baratinha
Dona Baratinha

alternative rock

Tick Tock
Tick Tock

90s rap. Australian Male vocal

The Road Less Traveled
The Road Less Traveled

A synthwave journey with driving basslines and atmospheric leads reflecting the exploration of uncharted territory

Felipe e Aline
Felipe e Aline

acústico romântico pop

Лера Карамелькина
Лера Карамелькина

романтичная поп летняя

夜のメロディ
夜のメロディ

lofi オルゴール

Moo Frog
Moo Frog

Electronica, aggressive, cyber-goth, EDM, heavy Base, dance, club, 120 bpm, dubstep