Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
quick sort
function table.length(T) local size = 0 for k,v in pairs(T) do size = size + 1 end return size end function table.tostring(A) local size = table.length(A) local string = "{" for i,v in ipairs(A) do string = string .. (v or "") if i < size then string = string .. "," end end string = string .. "}" return string end function quickSort(array, p, r) p = p or 1 r = r or #array if p < r then q = partition(array, p, r) quickSort(array, p, q - 1) quickSort(array, q + 1, r) end end function partition(array, p, r) local x = array[r] local i = p - 1 for j = p, r - 1 do if array[j] <= x then i = i + 1 local temp = array[i] array[i] = array[j] array[j] = temp end end local temp = array[i + 1] array[i + 1] = array[r] array[r] = temp return i + 1 end local A = {12,5,4,21,1,2,6,8} print("In: " .. table.tostring(A).."\n") quickSort(A) print("\nOut: " .. table.tostring(A))
run
|
edit
|
history
|
help
0
Uppercase
Roots without the math library in Lua
The Pyramid in the two-dimensional array made of random stones - Lua
MXR
Newton-Raphson method for the square root
Enums in Lua (library)
Hand positions in a circle
Conta valores acima da média - LUA
Truly random numbers (Lua)
ok