記憶容量は必要ですが、ソート速度が速いほうほうです。
分割してソートしてから、まとめてゆく方法です。
dim s(n,2)
n0:=1
s(1,1:=1
s(1,2):=n
label6
n1:=s(n0,1)
n2:=s(n0,2)
n0:=n0-1
label5
n3:=n1
n4:=n2
n5:=x((n1+n2)/2)
label1
if x(n3)
label2
if n5
if n4-n1<=n2-n3 then label3
if n3
label3
if n1
label4
if n1
return