下面是VBS的快速排序代码,适合数字和字符串数组:
Public Function QSort(ByRef ReArr, ByVal head,ByVall tail)
ReArr是待排序数组,head和tail是该数组的最小下标和最大下标
Dim lef,rig
Dim pivot
If head<tail,Then
lef=head
rig=tail
pivot=ReArr(lef)
While (lef<>rig)
While (lef<rig and ReArr(rig)>=pivot)
rig=rig-1
Wend
If lef<rig Then
ReArr(lef)=ReArr(rig)
lef=lef+1
End If
While (lef<rig and ReArr(lef)<=pivot)
lef=lef+1
Wend
If lef<rig Then
ReArr(rig)=ReArr(lef)
rig=rig-1
End If
Wend
ReArr(lef)=pivot
call QSort(ReArr,head,lef-1)
call QSort(ReArr,lef+1,tail)
End If
End Function