aboutsummaryrefslogtreecommitdiff
path: root/src/sort.h
diff options
context:
space:
mode:
authorame <[email protected]>2023-12-07 16:01:43 -0600
committerame <[email protected]>2023-12-07 16:01:43 -0600
commit06506329fa89a0513048a000bd06314472c10f2c (patch)
tree49c417e57164b7783c9c02f75b5b6356478594b5 /src/sort.h
parent470ccfa5149480d06a9c65d49bbb091f4614ad3d (diff)
string stuff & closed file from reading
Diffstat (limited to 'src/sort.h')
-rw-r--r--src/sort.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/sort.h b/src/sort.h
new file mode 100644
index 0000000..1b54164
--- /dev/null
+++ b/src/sort.h
@@ -0,0 +1,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)