Data update

This commit is contained in:
Ingy döt Net 2026-04-30 12:34:36 -04:00
parent 4bb20c9b71
commit cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions

View file

@ -0,0 +1,44 @@
local fmt = require "fmt"
local function patience_sort(a)
local size = #a
if size < 2 then return end
local piles = {}
for a as e do
local outer = false
for piles as pile do
if pile:back() > e then
pile:insert(e)
outer = true
break
end
end
if !outer then piles:insert({e}) end
end
for i = 1, size do
local min = piles[1]:back()
local min_pile_index = 1
for j = 2, #piles do
if piles[j]:back() < min then
min = piles[j]:back()
min_pile_index = j
end
end
a[i] = min
local min_pile = piles[min_pile_index]
min_pile:remove()
if #min_pile == 0 then piles:remove(min_pile_index) end
end
end
local ia = {4, 65, 2, -31, 0, 99, 83, 782, 1}
patience_sort(ia)
fmt.lprint(ia)
local ca = {"n", "o", "n", "z", "e", "r", "o", "s", "u", "m"}
patience_sort(ca)
fmt.lprint(ca)
local sa = {"dog", "cow", "cat", "ape", "ant", "man", "pig", "ass", "gnu"}
patience_sort(sa)
fmt.lprint(sa)