Anglais Francais Prosygma Italie
-
    hebergement asp
prosygma_logo

Tri de tableau en ASP avec quicksort

Techniques

Cette section permet de regrouper un ensemble de techniques ou de scripts qui ont l'originalité d'arriver à résoudre une difficulté avec le moindre effort ou qui sont particulièrement efficaces...


/ Tri de tableau en ASP : Array Sorting

Dans maintes applications ASP nous pouvons être amener à trier des tableaux. Ce tutoriel a pour but de distinguer plusieures techniques possibles puis d'en réaliser un comparatif.

QuickSort ou tri rapide:

Pour de petits tableaux le tri à bulle (bubbleSort) est largement suffisant surtout lorque les valeurs qu'il contient sont presque triées, mais lorque la plage de valeurs du tableau devient plus conséquente, il se révèle rapidement être inadéquat. Le quickSort est quant à lui beaucoup plus efficace sur ce type de grands tableaux possédant des valeurs aléatoirement ordonnées.

L'algorithme Quicksort procède par dichotomie, divisant le tableau en deux parties puis redivisant ensuite récursivement celles-ci (...) comme vous pouvez le voir dans cette exemple de code triant un tableau à une dimension via cet algorithme :

<%

'vbArray : Tableau à trié
'LB : Borne inférieure du tableau
'RB : Borne supérieure du tableau

 Sub QuickSort( byref vbArray , LB , UB )
  
  Dim i 
  Dim j 
  Dim X
  Dim Y

  i = LB
  j = UB
  X = vbArray((LB + UB) / 2)

  Do While (i <= j)
    
    Do While (vbArray(i) < X And i < UB)
      i = i + 1
    Loop

    Do While (X < vbArray(j) And j > LB)
      j = j - 1
    Loop

    If (i <= j) Then
      Y = vbArray(i)
      vbArray(i) = vbArray(j)
      vbArray(j) = Y
      i = i + 1
      j = j - 1
    End If
  Loop

  If (LB < j) Then QuickSort vbArray, LB, j
  If (i < RB) Then QuickSort vbArray, i, RB
  
  
End Sub



Dim arrValue 
arrValue = Array(12,24,51,24,15,35,15,65,418)

QuickSort arrValue,lbound(arrValue),ubound(arrValue)

'Affichage des valeurs du tableau une fois trié
response.write Join(arrValue,",")

%>