Skip to content

bahri-hirfanoglu/lua-sort

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

lua-sort

Roblox ModuleScript Require

local Sort = require(game.Workspace.Sort)
  • Selection Sort
    From the first to the last value, we replace each value with the smallest element that comes after it.
print("Selection Sort: ",table.concat(Sort.Selection(array,true)," - "))
--Output Selection Sort:  3 - 5 - 6 - 16 - 744

print("Selection Sort: ",table.concat(Sort.Selection(array,false)," - "))
--Output Selection Sort:  744 - 16 - 6 - 5 - 3
  • Bubble Sort
    It starts from the beginning of the array and compare all values with the value before it until the end and changes their places if necessary.
print("Bubble Sort: ",table.concat(Sort.Bubble(array,true)," - "))
--Output Bubble Sort:  3 - 5 - 6 - 16 - 744

print("Bubble Sort: ",table.concat(Sort.Bubble(array,false)," - "))
--Output Bubble Sort:  744 - 16 - 6 - 5 - 3 
  • Insertion Sort
    This algorithm starts at the 2nd value of the array and replace every value it encounters with the larger values ​​that precede this value until it reaches its final value.
print("Insertion Sort: ",table.concat(Sort.Insertion(array,true)," - "))
--Output Insertion Sort:  3 - 5 - 6 - 16 - 744 

print("Insertion Sort: ",table.concat(Sort.Insertion(array,false)," - "))
--Output Insertion Sort:  744 - 16 - 6 - 5 - 3
  • Quick Sort
    Selects a pivot value near the middle of the array and shifts values ​​greater than the pivot to the right and values ​​less than the pivot to the left. After doing this process, it selects pivot values ​​separately from the arrays to the left and right of the pivot value and subjects those arrays to this process again. After this process continues recursively, the entire array will be sorted.
print("Quick Sort: ",table.concat(Sort.Quick(array,1,#array,true)," - "))
--Output Quick Sort:  3 - 5 - 6 - 16 - 744

print("Quick Sort: ",table.concat(Sort.Quick(array,1,#array,false)," - "))
--Output Quick Sort:  744 - 16 - 6 - 5 - 3

Tests used 500,000-element array.

Algorithm Sequential Array (ms) Rev. Sequential Array (ms) Rnd. Sequential (ms)
Selection Sort 583334 511961 516530
Insertion Sort 10 407946 234287
Bubble Sort 10 1536317 2062972
Quick Sort 60 90 160

About

lua [selection, bubble, insertion, quick sort]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages