blob: 60e1b9b3f8dc49433bc10d2f3cee3839345b1f01 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
{ /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
|a len {
0 |d len 1 sub mergeSort
} { [ ] } ? *
} /order deffd
{ _ |lt order -01 { * }_ [ 0 ] [ 0 ] '' * } /sort deffd
# vim: syn=elymas
|