Page 1 sur 1

[Idée] - Trie par succession

Publié : mer. 07/juin/2017 9:58
par Shadow
J'ai trouvé une méthode qui fonctionne pour trier des nombres.
Alors je ne sais pas se que ça vaux, c'est peut être ça le trie à bulle ?

Comment ça fonctionne ?
On prend 2 nombres par 2 nombre et on avance de 1 à chaque fois jusqu'a la fin.
Si les deux nombres peuvent être trier du plus petit au plus grand (Mais aurais peut être l'inverse)
Alors on met 1, sinon on met 0 pour dire que les deux nombres n'ont pas besoin d'être trié.
Je ne sais pas se que ça vaut comme méthode mais ça reste une idée.
C'est ce que j'ai appelé Trier par succession, je ne sais pas si c'est correcte.
Ex:

-> 220, 205, 28, 92, 199, 25, 98, 138

1 = 205, 220 (220, 28)
1 = 28, 220 (220, 92)
1 = 92, 220 (220, 199)
1 = 199, 220 (220, 25)
1 = 25, 220 (220, 98)
1 = 98, 220 (220, 138)
1 = 138, 220

-> 205, 28, 92, 199, 25, 98, 138, 220

1 = 28, 205 (205, 92)
1 = 92, 205 (205, 199)
1 = 199, 205 (205, 25)
1 = 25, 205 (205, 98)
1 = 98, 205 (205, 138)
1 = 138, 205 (205, 220)
0 = 205, 220

-> 28, 92, 199, 25, 98, 138, 205, 220

0 = 28, 92 (92, 199)
0 = 92, 199 (199, 25)
1 = 25, 199 (199, 98)
1 = 98, 199 (199, 138)
1 = 138, 199 (199, 205)
0 = 199, 205 (205, 220)
0 = 205, 220

-> 28, 92, 25, 98, 138, 199, 205, 220

0 = 28, 92 (92, 25)
1 = 25, 92 (92, 98)
0 = 92, 98 (98, 138)
0 = 98, 138 (138, 199)
0 = 138, 199 (199, 205)
0 = 199, 205 (205, 220)
0 = 205, 220

-> 28, 25, 92, 98, 138, 199, 205, 220

1 = 25, 28 (28, 92)
0 = 28, 92 (92, 98)
0 = 92, 98 (98, 138)
0 = 98, 138 (138, 199)
0 = 138, 199 (199, 205)
0 = 199, 205 (205, 220)
0 = 205, 220

-> 25, 28, 92, 98, 138, 199, 220, 220

Fin du trie.

Re: Trie par succession

Publié : mer. 07/juin/2017 10:10
par falsam
Shadow a écrit :J'ai trouvé une méthode qui fonctionne pour trier des nombres.
Pas de code à présenter ?
Shadow a écrit :Alors je ne sais pas se que ça vaux
Rien !!! Ca ne vaut rien d'autant plus que PureBasic offre tout ce qu'il faut pour trier des valeurs alphanumeriques.

Un exemple.

Code : Tout sélectionner

;Creation d'une liste de nombres
Dim Test(20)
For i = 0 To 20
  Test(i) = i
Next

;Melange des données
RandomizeArray(Test())

;Verification
Debug "Avant"
For i = 0 To ArraySize(Test())
  Debug Test(i)
Next
Debug #CRLF$

;Tri des données 
SortArray(Test(), #PB_Sort_Ascending)

;Verification
Debug "Aprés"
For i = 0 To ArraySize(Test())
  Debug Test(i)
Next

Re: Trie par succession

Publié : mer. 07/juin/2017 10:26
par Mindphazer
Shadow a écrit :J'ai trouvé une méthode qui fonctionne pour trier des nombres.
Alors je ne sais pas se que ça vaux, c'est peut être ça le trie à bulle ?
Oui.
T'as rien inventé

Re: Trie par succession

Publié : mer. 07/juin/2017 11:32
par Shadow
Je sais qu'il existe des méthode toute faite mais j'ai voulue posté une idée de trie, savoir se que c'était etc.
C'est une idée...

Re: [Idée] - Trie par succession

Publié : mer. 07/juin/2017 11:55
par JohnJohnsonSHERMAN
Tri à bulle :
Je regarde les 2 premiéres valeurs
Si la 2é est supérieure à la premiére, je swap les deux
Je passe à la suivante...
:P

Re: [Idée] - Trie par succession

Publié : mer. 07/juin/2017 12:42
par Shadow
Bha c'est biens e que je fais donc, je fais ça avec toutes mes valeur et je recommence tans que tous n'est pas ok.
Donc j'ai appris tous seule le trie à bulles, j'adore apprendre tous seule, c'est la meilleur des façon d'apprendre !