protected mustoverride sub Swap(byval Pos1 as int32, _
byval Pos2 as int32) '交换元素
protected mustoverride function Order(byval Pos1 as int32, _
byval Pos2 as int32) as boolean '判断两个元素是否顺序
public sub QuickSort(byval From as int32,byval To as int32)
if From>=To then exit sub
dim p as int32
p=Part(From,From+1,To)
call Swap(From,p)
Call QuickSort(From,p-1)
Call QuickSort(p+1,To)
end sub
private function Part(byval P as int32,byval From as int32, _
byval To as int32) as int32
do until From>=To
if Order(From,P) then
From+=1
else
Call Swap(From,To)
To-=1
end if
loop
return To
end sub
end class