blob: 2cac3cfda070755dfaa47235292b510c2275579d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
{ /cmp deff _ /a deff dom /d deff
{ ==e ==s
s e eq { [ s d ] } {
s e add 2 div ==m
s m mergeSort =*x 0 ==i
m 1 add e mergeSort =*y 0 ==j
{ i _ x -01 1 add =i } ==l
{ j _ y -01 1 add =j } ==r
[
{ i |x len lt j |y len lt and } {
i x a j y a cmp l r ? *
} loop
{ i |x len lt } l loop
{ j |y len lt } r loop
]
} ? *
} /mergeSort deffst
0 |d len 1 sub mergeSort
} /order deffd
{ _ |lt order -01 { * }_ [ 0 ] [ 0 ] '' * } /sort deffd
# vim: syn=elymas
|