Sull'Articolo -
Ecco a voi l'implementazione di uno dei più veloci algoritmi di ordinamento, sapendo di fare sicuramente cosa gradita, sotto potete prelevare questa traduzione dell'Algoritmo di Ordinamento conosciuto come QuickSort in ASP/VbScript. Sub SwapValue(ByRef ValueA, ByRef ValueB) Dim Tmp Tmp = ValueA ValueA = ValueB ValueB = Tmp End Sub Sub SeparaLista(ByRef MyArray(), ByVal Low, ByVal High, ByRef Pivot) Pivot=Low Low=Low+1 Do While (High-Low>1) If (MyArray(Low)<=MyArray(Pivot)) And (Low<High) Then Low=Low+1 If (MyArray(High)>=MyArray(Pivot)) And (Low<High) Then High=High-1 If (MyArray(Low)>MyArray(High)) Then SwapValue MyArray(Low), MyArray(High) Loop If (MyArray(Pivot)>MyArray(Low)) Then SwapValue MyArray(Pivot), MyArray(Low) SwapValue Pivot, Low Else SwapValue MyArray(Pivot), MyArray(Low-1) Low=Low-1 SwapValue Pivot, Low End If End Sub Sub TreeSort(ByRef A, ByRef B, ByRef C) If ((A>B) And (A>C)) Then SwapValue A,C ElseIf ((B>A) And (B>C)) Then SwapValue B,C End If If (A>B) Then SwapValue A,B End Sub Sub QuickSort(ByRef MyArray(), Low, High) Dim Pivot If (High-Low<=1) Then If (MyArray(Low)>MyArray(High)) Then SwapValue MyArray(Low),MyArray(High) ElseIf (High-Low=2) Then TreeSort MyArray(Low),MyArray(Low+1),MyArray(High) ElseIf (High-Low>2) Then SeparaLista MyArray, Low, High, Pivot QuickSort MyArray,Low,Pivot-1 QuickSort MyArray,Pivot+1,High End If End Sub |