Modul:Mergesort: Unterschied zwischen den Versionen
Aus KGS-Wiki
Sn (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Sn (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
function createRandomList() | |||
local res = {} | |||
for i = 1,8,1 do | |||
res[i] = math.random(99) | |||
end | |||
return res | |||
end | |||
function p.example() | function p.example() | ||
local list = createRandomList() | |||
frame = mw.getCurrentFrame() | frame = mw.getCurrentFrame() | ||
local content = 'graph TD\n' | local content = 'graph TD\n' | ||
content = content .. 'subgraph divide\n' | content = content .. 'subgraph divide\n' | ||
content = content .. 'a[' .. | content = content .. 'a[' .. table.unpack(list) .. ']\n' | ||
content = content .. 'a --> b[' .. a .. ' ' .. b .. ' ' .. c .. ' ' .. d .. '] & c[' .. e .. ' ' .. f .. ' ' .. g .. ' ' .. h .. ']\n' | --content = content .. 'a --> b[' .. a .. ' ' .. b .. ' ' .. c .. ' ' .. d .. '] & c[' .. e .. ' ' .. f .. ' ' .. g .. ' ' .. h .. ']\n' | ||
content = content .. 'b --> d[' .. a .. ' ' .. b .. '] & e[' .. c .. ' ' .. d .. ']\n' | --content = content .. 'b --> d[' .. a .. ' ' .. b .. '] & e[' .. c .. ' ' .. d .. ']\n' | ||
content = content .. 'c --> f[' .. e .. ' ' .. f .. '] & g[' .. g .. ' ' .. h .. ']\n' | --content = content .. 'c --> f[' .. e .. ' ' .. f .. '] & g[' .. g .. ' ' .. h .. ']\n' | ||
content = content .. 'd --> h[' .. a .. '] & i[' .. b .. ']\n' | --content = content .. 'd --> h[' .. a .. '] & i[' .. b .. ']\n' | ||
content = content .. 'e --> j[' .. c .. '] & k[' .. d .. ']\n' | --content = content .. 'e --> j[' .. c .. '] & k[' .. d .. ']\n' | ||
content = content .. 'f --> l[' .. e .. '] & m[' .. f .. ']\n' | --content = content .. 'f --> l[' .. e .. '] & m[' .. f .. ']\n' | ||
content = content .. 'g --> n[' .. g .. '] & o[' .. h .. ']\n' | --content = content .. 'g --> n[' .. g .. '] & o[' .. h .. ']\n' | ||
content = content .. 'end\n' | content = content .. 'end\n' | ||
content = content .. 'subgraph conquer\n' | |||
--h --> p["{{#af_join:{{#af_sort:{{#af_list:{{{1|94}}} | {{{2|73}}}}}}}| }}"] | --h --> p["{{#af_join:{{#af_sort:{{#af_list:{{{1|94}}} | {{{2|73}}}}}}}| }}"] | ||
--i --> p | --i --> p | ||
Zeile 37: | Zeile 38: | ||
--t --> v["{{#af_join:{{#af_sort:{{#af_list:{{{6|20}}} | {{{5|22}}} | {{{7|46}}} | {{{3|58}}} | {{{4|61}}} | {{{2|73}}} | {{{8|75}}} | {{{1|94}}}}}}}| }}"] | --t --> v["{{#af_join:{{#af_sort:{{#af_list:{{{6|20}}} | {{{5|22}}} | {{{7|46}}} | {{{3|58}}} | {{{4|61}}} | {{{2|73}}} | {{{8|75}}} | {{{1|94}}}}}}}| }}"] | ||
--u --> v | --u --> v | ||
content = content .. 'end' | |||
local graph = frame:extensionTag('mermaid', content, {}) | local graph = frame:extensionTag('mermaid', content, {}) | ||
return graph | return graph |
Version vom 3. Juni 2024, 09:27 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Mergesort/Doku erstellt werden
local p = {}
function createRandomList()
local res = {}
for i = 1,8,1 do
res[i] = math.random(99)
end
return res
end
function p.example()
local list = createRandomList()
frame = mw.getCurrentFrame()
local content = 'graph TD\n'
content = content .. 'subgraph divide\n'
content = content .. 'a[' .. table.unpack(list) .. ']\n'
--content = content .. 'a --> b[' .. a .. ' ' .. b .. ' ' .. c .. ' ' .. d .. '] & c[' .. e .. ' ' .. f .. ' ' .. g .. ' ' .. h .. ']\n'
--content = content .. 'b --> d[' .. a .. ' ' .. b .. '] & e[' .. c .. ' ' .. d .. ']\n'
--content = content .. 'c --> f[' .. e .. ' ' .. f .. '] & g[' .. g .. ' ' .. h .. ']\n'
--content = content .. 'd --> h[' .. a .. '] & i[' .. b .. ']\n'
--content = content .. 'e --> j[' .. c .. '] & k[' .. d .. ']\n'
--content = content .. 'f --> l[' .. e .. '] & m[' .. f .. ']\n'
--content = content .. 'g --> n[' .. g .. '] & o[' .. h .. ']\n'
content = content .. 'end\n'
content = content .. 'subgraph conquer\n'
--h --> p["{{#af_join:{{#af_sort:{{#af_list:{{{1|94}}} | {{{2|73}}}}}}}| }}"]
--i --> p
--j --> q["{{#af_join:{{#af_sort:{{#af_list:{{{3|58}}} | {{{4|61}}}}}}}| }}"]
--k --> q
--l --> r["{{#af_join:{{#af_sort:{{#af_list:{{{5|22}}} | {{{6|20}}}}}}}| }}"]
--m --> r
--n --> s["{{#af_join:{{#af_sort:{{#af_list:{{{7|46}}} | {{{8|75}}}}}}}| }}"]
--o --> s
--p --> t["{{#af_join:{{#af_sort:{{#af_list:{{{3|58}}} | {{{4|61}}} | {{{2|73}}} | {{{1|94}}}}}}}| }}"]
--q --> t
--r --> u["{{#af_join:{{#af_sort:{{#af_list:{{{6|20}}} | {{{5|22}}} | {{{7|46}}} | {{{8|75}}}}}}}| }}"]
--s --> u
--t --> v["{{#af_join:{{#af_sort:{{#af_list:{{{6|20}}} | {{{5|22}}} | {{{7|46}}} | {{{3|58}}} | {{{4|61}}} | {{{2|73}}} | {{{8|75}}} | {{{1|94}}}}}}}| }}"]
--u --> v
content = content .. 'end'
local graph = frame:extensionTag('mermaid', content, {})
return graph
end
return p