hassni55
Messages postés31Date d'inscriptiondimanche 1 janvier 2006StatutMembreDernière intervention 5 mars 2007
-
5 févr. 2006 à 15:46
samsoum0408
Messages postés2Date d'inscriptionmardi 29 juillet 2008StatutMembreDernière intervention30 juillet 2008
-
30 juil. 2008 à 05:36
merci pour tous les personnes qui m'ont aidez, mais je revien aujourd'hui avec un autre probléme :
j'ai un tableau statique TAB(0 to 5)
as Integer je vaudrais trier ce tableau en ordre croissant, mais en utilisant le Tri rapide.
merciiiiiiiii
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 févr. 2006 à 15:58
Salut
Il existe plusieurs méthodes de tri.
Il suffit de lire quelques sources que tu trouveras en tapant "méthode tri" puis la recherche par Google.
A toi de faire des essais et de tester la meilleure méthode, mais franchement, avec 6 éléments dans ton tableau, ce n'est pas la peine de te casser la tête à vouloir gagner de la vitesse.
D'autre part, évite sous VB d'utiliser des mots clés du langage pour désigner des variables : TAB n'est pas conseillé (iTab serait bien)
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
hassni55
Messages postés31Date d'inscriptiondimanche 1 janvier 2006StatutMembreDernière intervention 5 mars 2007 5 févr. 2006 à 17:44
j'ai des algorihmes de tri rapide mais pour le transformer en visual basic ce me derange un peu. pour cela je demande d'aide, pas c koi le tri rapide ou comment ca marche mais comme j'entrain de te dire le prblm est en vb
merci pour votre compréhension .
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 5 févr. 2006 à 22:19
Je l'ai réécrit, parce que je me suis rendu compte qu'un L minuscule et
le chiffre 1, ç se ressemble beaucoup en police Courier. Donc là, plus
possible de les confondre :
Dim iTab(0 To 5) As Integer
Dim Index_Max_du_Tableau As Long
Dim iTemp As Integer
Dim ll, k As Long
iTab(0) = 15
iTab(1) = 54
iTab(2) = 64
iTab(3) = 12
iTab(4) = 87
iTab(5) = 77
Index_Max_du_Tableau = 5
For ll = 0 To Index_Max_du_Tableau - 1
For k = Index_Max_du_Tableau - ll To 1 Step -1
If iTab(k - 1) > iTab(k) Then
iTemp = iTab(k)
iTab(k) = iTab(k - 1)
iTab(k - 1) = iTemp
End If
Next k
Next ll
Manu
Vous n’avez pas trouvé la réponse que vous recherchez ?
hassni55
Messages postés31Date d'inscriptiondimanche 1 janvier 2006StatutMembreDernière intervention 5 mars 2007 6 févr. 2006 à 15:45
merci, pour votre aide, mais encore le probléme est de remplacer a procédure Tri rapide par autres instructions (j'aime pas l'utiliser sous forme d'une procédure ) parceque j'ai pas encore attaqué les fonctions et les procédures, j'ai essayé avec ces instructions :
Private sub Command1_Click( )
' partionner le tableau selon un pivot
pivot = t(0)
PosPivot = 0
for i = lbound(t)+1 to Ubound(t)
if t(i) < pivot then
PosPivot = PosPivot +1
tmp = t(i)
t(PosPivot) = tmp
end if
Next i
' Placer le pivot a sa place finale
tmp = t(PosPivot)
t(PosPivot) = Pivot
t(0) = tmp
' trier les 2 sous tableaux crées
içi le probléme la pluspart des prog utilisant des procédures comme suit :
TriRapide D,i-2,t
SVP est ce que quelqun peut me dire ce qu'il faut écrire dans cette dérniere partie.
Merci