aboutsummaryrefslogtreecommitdiff
path: root/src/sort.h
blob: 1b541645c9b807957558dd275b50b7e1a522bafb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "lua.h"
#include "i_util.h"
#include "i_common.h"

//comparison sorts
int l_quicksort(lua_State*);    //[double+int] -> arr[N] (greatest -> least)
int l_mergesort(lua_State*);    //[double+int] -> arr[N] (greatest -> least) 
int l_shellsort(lua_State*);    //[double+int] -> arr[N] (greatest -> least)
int l_bubblesort(lua_State*);   //[double+int] -> arr[N] (greatest -> least)
int l_heapsort(lua_State*);     //[double+int] -> arr[N] (greatest -> least)

//non-comparison sorts
  //good for large arrays filled with small values
int l_countingsort(lua_State*); //[int] (arr[N] >= 0) -> arr[N] (least -> greatest)

//esoteric sorts
int l_miraclesort(lua_State*);  //[double+int] -> arr[-∞<=N<=∞] (greatest -> least)
int l_stalinsort(lua_State*);   //[double+int] -> arr[?<=N] (greatest -> least)
int l_slowsort(lua_State*);     //[double+int] -> arr[N] (greatest -> least)
int l_bogosort(lua_State*);     //[double+int] -> arr[N] (greatest -> least)