Tri Rapide
Résolu
bupole
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
bupole Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
bupole Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis un étudiant debutant en VB.NET j'ai essayer de réaliser un programme du tri rapide sous VB.NET mais je trouve tout le temps des dificultées en le executant priere de me le corriger j'ai un examen demain et j'ai vraiment besoin de votre aide
et merci d'avance !
Je suis un étudiant debutant en VB.NET j'ai essayer de réaliser un programme du tri rapide sous VB.NET mais je trouve tout le temps des dificultées en le executant priere de me le corriger j'ai un examen demain et j'ai vraiment besoin de votre aide
et merci d'avance !
Module Module1 Sub main() Dim n As Integer Console.Write("Donner la taille du tableau : ") n = Console.ReadLine() Dim t(n) As Integer For i = 1 To n Console.Write("tab[" & i & "] = ") t(i) = Console.ReadLine() Next tri_rapide(t, 1, n) For i = 1 To n Console.WriteLine("tab" & i & "] = " & t(i)) Next End Sub 'debut tri rapide Sub tri_rapide(ByVal tab() As Integer, ByVal debut As Integer, ByVal fin As Integer) Dim d, g, pivot, temp As Integer d = fin g = debut pivot = tab((debut + fin) / 2) Do While (tab(g) < pivot) g += 1 End While While (tab(d) > pivot) d -= 1 End While If (g <= d) Then temp = tab(g) tab(g + 1) = tab(d) tab(d - 1) = temp End If Loop While (g <= d) If (debut < d) Then tri_rapide(tab, debut, d) End If If (fin > g) Then tri_rapide(tab, g, fin) End If End Sub 'fin tri rapide End Module
A voir également:
- Tri Rapide
- Acces rapide - Guide
- Comment faire un tri personnalisé sur excel - Guide
- Logiciel tri photo - Guide
- Copie rapide - Télécharger - Gestion de fichiers
- Telechargement rapide - Télécharger - Téléchargement & Transfert
1 réponse
Bonjour
code VBa de tri rapide ( je n'en suis pas l'auteur)
ses explications
Son principe consiste à trier une partie d'un tableau délimité par 2 indices, on choisit une valeur de ce tableau qui servira de pivot qu'on place de manière définitive de manière à ce que tous les éléments précdents ce pivot lui soient inférieurs ou égaux et que tous les suivants lui soient supérieurs ou égaux. On prend comme pivot la valeur médiane
vba mais d'après ce que tu as écrit, ca semble identique au vb.net....
Michel
code VBa de tri rapide ( je n'en suis pas l'auteur)
ses explications
Son principe consiste à trier une partie d'un tableau délimité par 2 indices, on choisit une valeur de ce tableau qui servira de pivot qu'on place de manière définitive de manière à ce que tous les éléments précdents ce pivot lui soient inférieurs ou égaux et que tous les suivants lui soient supérieurs ou égaux. On prend comme pivot la valeur médiane
vba mais d'après ce que tu as écrit, ca semble identique au vb.net....
Sub TrieTableau(Deb As Long, Fin As Long)'Ti
Dim IndiceInf As Long, IndiceSup As Long
Dim Temp1, Pivot
IndiceInf = Deb
IndiceSup = Fin
Pivot = UCase(T((Deb + Fin) \ 2))
Do
While UCase(T(IndiceInf)) < Pivot
IndiceInf = IndiceInf + 1
Wend
While Pivot < UCase(T(IndiceSup))
IndiceSup = IndiceSup - 1
Wend
If IndiceInf <= IndiceSup Then
Temp1 = T(IndiceInf)
T(IndiceInf) = T(IndiceSup)
T(IndiceSup) = Temp1
IndiceInf = IndiceInf + 1
IndiceSup = IndiceSup - 1
End If
Loop Until IndiceInf > IndiceSup
If Deb < IndiceSup Then TrieTableau Deb, IndiceSup
If IndiceInf < Fin Then TrieTableau IndiceInf, Fin
End Sub
Michel
Merci...
de rien