Bonjour.
j'aimerais savoir si Vb inclus une fonction de tri de liste (tableaux à 1 colonne) numériques (type integer) et, si c'est le cas, comment cell-ci s'apelle t'elle. (he oui, j'ai aussi des lacunes).
Merci
Bonjour.
j'aimerais savoir si Vb inclus une fonction de tri de liste (tableaux à 1 colonne) numériques (type integer) et, si c'est le cas, comment cell-ci s'apelle t'elle. (he oui, j'ai aussi des lacunes).
Merci
bon, ben finalement, j'ai reprogrammé le quicksort qui étais dans la section algorithmie (il étais en c):merci et salut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Public Function QUICKSORT(ByRef Tableau() As Integer, Optional ByVal Debut As Integer = -1, _ Optional ByVal Fin As Integer = -1) 'attention, ne pas avoir un tableau avec des indices négatifs. If Debut = -1 Then Debut = LBound(Tableau, 1) If Fin = -1 Then Fin = UBound(Tableau, 1) Dim Pivot As Integer Dim Gauche As Integer Dim Droite As Integer Dim temp As Integer Pivot = Debut Gauche = Debut Droite = Fin Do If Tableau(Gauche) >= Tableau(Droite) Then temp = Tableau(Gauche) Tableau(Gauche) = Tableau(Droite) Tableau(Droite) = temp Pivot = Gauche + Droite - Pivot End If If Pivot = Gauche Then Droite = Droite - 1 Else Gauche = Gauche + 1 End If DoEvents Loop Until Gauche = Droite If Debut < Gauche - 1 Then QUICKSORT Tableau, Debut, Gauche - 1 If Fin > Droite + 1 Then QUICKSORT Tableau, Droite + 1, Fin End Function
Oups! j'ai corrigé une petite erreur.
le procédure est incroyablement rapide! (- d'une seconde pour 10 000 chiffres...) on pourait déclarer tout en variant et mettre dans la faq, ça éviterais à certains de créer une listbox pour ça...
salut
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager