PNG
IHDR 7q coDemerge_sortmorder
function merge_sort(list m)
// Base case. A list of zero or one elements is sorted, by definition.
if length of m ≤ 1 then
return m
// Recursive case. First, divide the list into equal-sized sublists
// consisting of the first half and second half of the list.
var left := empty list
var right := empty list
for each x with index i in m do
if i ≤ (length of m)/2 then
add x to left
else
add x to right
// Recursively sort both sublists.
left := merge_sort(left)
right := merge_sort(right)
// Then merge the now-sorted sublists.
return merge(left, right)middleFLOORm2LTEm1mleftrightsegmentm1middlesegmentmmiddle1mmergemerge_sortleftordermerge_sortrightorderordernH pHYs % %IR$ IDATxTT线Z&79$$']Mwc6DbtDD
(k{Wc
{;=k:]}ߌ dfV9~r~LDBA16as :jjEX,DA F:s兲chٔ=.܆҂AAAR~~ hW-}.7E," uK$D/I X DA JYC, p 0V|9-A 1:Mk-EAAA `(&W ,"XQXBfҾ B7SBV5J|Y@Fc=i[HWCԴH 1ߟg@ HoZmN#thk^ؕW3xF-
_Js)98vt(_GDїxg_ʏB.h^>6KhR>5-碃hM58p @ =èŊ7M3!2d[>]p/:QZxOϤi
2Z02S-(NbwRg-g_;}Yq<2GVO5{/y c qefs̈jX0ٚGsG