IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Vos contributions VB6 Discussion :

[Faq(?)][VB6] Fonction de tri.


Sujet :

Vos contributions VB6

  1. #1
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 218
    Points
    1 218
    Par défaut [Faq(?)][VB6] Fonction de tri.
    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

  2. #2
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 218
    Points
    1 218
    Par défaut
    bon, ben finalement, j'ai reprogrammé le quicksort qui étais dans la section algorithmie (il étais en c):
    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
    merci et salut

  3. #3
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 218
    Points
    1 218
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction de tri
    Par max2245 dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 13/01/2006, 01h28
  2. fonction de tri par introspection
    Par ned-flanders dans le forum C++
    Réponses: 7
    Dernier message: 21/10/2004, 12h49
  3. Réponses: 2
    Dernier message: 08/04/2004, 17h30
  4. [VB6] fonction d' encodage URL en VB
    Par jeanseb dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/01/2003, 12h16
  5. [VB6]fonction inverse de Hex (nombres hexadécimaux)
    Par Guigui_ dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/10/2002, 20h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo