Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,26 @@
|
|||
function bogosort (list)
|
||||
if type (list) ~= 'table' then return list end
|
||||
|
||||
-- Fisher-Yates Knuth shuffle
|
||||
local function shuffle ()
|
||||
local rand = math.random(1,#list)
|
||||
for i=1,#list do
|
||||
list[i],list[rand] = list[rand],list[i]
|
||||
rand = math.random(1,#list)
|
||||
end
|
||||
end
|
||||
|
||||
-- Returns true only if list is now sorted
|
||||
local function in_order ()
|
||||
local last = list[1]
|
||||
for i,v in next,list do
|
||||
if v < last then return false end
|
||||
last = v
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
while not in_order() do shuffle() end
|
||||
|
||||
return list
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue