File tree Expand file tree Collapse file tree 3 files changed +67
-0
lines changed Expand file tree Collapse file tree 3 files changed +67
-0
lines changed Original file line number Diff line number Diff line change
1
+ --[[
2
+ Lua implementation of insert sort
3
+
4
+ Author: Micael Machado Gomes (micaellgoms@gmail.com)
5
+ --]]
6
+
7
+ -- @param unordered array
8
+ function insertSort (array )
9
+ print (" Insert Sort:" )
10
+ for i = 1 , # array do
11
+ temp = array [i ]
12
+ j = i - 1
13
+ while j > 0 and array [j ] > temp do
14
+ array [j + 1 ] = array [j ]
15
+ j = j - 1
16
+ end
17
+ array [j + 1 ] = temp
18
+ end
19
+ end
Original file line number Diff line number Diff line change
1
+
2
+ --[[
3
+ Lua implementation of select sort
4
+
5
+ Author: Micael Machado Gomes (micaellgoms@gmail.com)
6
+ --]]
7
+
8
+ -- @param unordered array
9
+ function selectSort (array )
10
+ print (" Select Sort:" )
11
+ for i in pairs (array ) do
12
+ min = i
13
+ for j = i , # array do
14
+ if array [j ] < array [min ] then
15
+ min = j
16
+ end
17
+ end
18
+
19
+ array [min ], array [i ] = array [i ], array [min ]
20
+ end
21
+ end
Original file line number Diff line number Diff line change
1
+ --[[
2
+ Lua implementation of shell sort
3
+
4
+ Author: Micael Machado Gomes (micaellgoms@gmail.com)
5
+ --]]
6
+
7
+ -- @param unordered array
8
+ function shellSort (array )
9
+ print (" Shell Sort:" )
10
+ h = 1
11
+ while h < # array do
12
+ h = (3 * h )+ 1
13
+ end
14
+
15
+ repeat
16
+ h = math.floor (h / 3 )
17
+ for i = 1 , # array do
18
+ temp = array [i ]
19
+ j = i - h
20
+ while j >= 1 and array [j ] > temp do
21
+ array [j + h ] = array [j ]
22
+ j = j - h
23
+ end
24
+ array [j + h ] = temp
25
+ end
26
+ until h <= 1
27
+ end
You can’t perform that action at this time.
0 commit comments