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

추천

Jazz Thiz two
Jazz Thiz two

fast-paced, neo jazz techno, drum and bass, large reverb, phaser, slap bass, large drums

Copy of a NIN
Copy of a NIN

fast P-Funk, major scale, swing drums, piano, R&B/Soul, early 80's

Love is All
Love is All

pop catchy upbeat

Być tam gdzie ty.
Być tam gdzie ty.

male vocalist, sad, piano, intense, pop, dark, guitar, epic, electro, male voice

เหอะนะ Bad Boys
เหอะนะ Bad Boys

syncopated dance, male vocals, electronic rock

Ты - мой свет 5
Ты - мой свет 5

Бурятский рок, worship

Press Start - New Game
Press Start - New Game

8-Bit Midi NES Orchestral Fantasy Adventure Opening Theme, No Vocals

Skibidi Love in the Shadows
Skibidi Love in the Shadows

alternative rock melancholic gritty

Roues de la Gloire
Roues de la Gloire

énergique pop encourageant

When Panic Makes You Lose Control
When Panic Makes You Lose Control

12 Bar Blues Rock, starts calm and intensifies, guitar Riffs, electric guitar, blues harp, pop

Lost in Her Shadow
Lost in Her Shadow

emotional storytelling, heartfelt background vocals, male vocals, r&b, d# minor, 2000s ballad, soul, emotional, powerful adlibs

The Whispering Woods
The Whispering Woods

rock opera, rock, female voice, gothic metal

Srikanksha
Srikanksha

pop rhythmic

The Meatball Symphony
The Meatball Symphony

opera, 16th century, powerful male voice, gritty, raw, hard,

Rugidos Desde El Infierno
Rugidos Desde El Infierno

heavy aggressive deathcore

Foofology
Foofology

new wave