balgrim
Messages postés52Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention28 octobre 2003 11 nov. 2002 à 07:07
Heu pour X c seulement si je veut ranger qu'un partie de mon tableau. Sinon je v allez voir ta source .Merci :)
Balgrim
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 11 nov. 2002 à 02:38
Au fait :
Si c'est pour un jeu attention à la méthode de tri !!! Le principe du tri à bulles est le plus simple à programmer, mais c'est de loin le plus lent. Regarde d'ici peu sur ce site, je vais poser un exemple de tri basé sur la méthode 'tri rapide'. ( d'ici une heure )
Nono.
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 11 nov. 2002 à 01:29
Quelques petites remarques :
- Tu passes X en paramètre, c'est inutile car High(Arr) te donne l'indice maximum.
- Le tri que tu implémente ici est dit 'tri à bulles', mais la boucle est plus longue que nécessaire :
// High()-1 est suffisant
for I:=0 to High(Arr)-1 do begin
// Ce n'est pas la peine de refaire le début du tableau
for j:=i+1 to High(Arr) do begin
- Pour les chaines tu ne compare que le premier caractère alors que delphi fait tout le travail à ta place : If arr[I] < arr[J] Then... est autorisé. C'est une exception car normalment seuls les types ordinaux peuvent être comparés.
11 nov. 2002 à 07:07
Balgrim
11 nov. 2002 à 02:38
Si c'est pour un jeu attention à la méthode de tri !!! Le principe du tri à bulles est le plus simple à programmer, mais c'est de loin le plus lent. Regarde d'ici peu sur ce site, je vais poser un exemple de tri basé sur la méthode 'tri rapide'. ( d'ici une heure )
Nono.
11 nov. 2002 à 01:29
- Tu passes X en paramètre, c'est inutile car High(Arr) te donne l'indice maximum.
- Le tri que tu implémente ici est dit 'tri à bulles', mais la boucle est plus longue que nécessaire :
// High()-1 est suffisant
for I:=0 to High(Arr)-1 do begin
// Ce n'est pas la peine de refaire le début du tableau
for j:=i+1 to High(Arr) do begin
- Pour les chaines tu ne compare que le premier caractère alors que delphi fait tout le travail à ta place : If arr[I] < arr[J] Then... est autorisé. C'est une exception car normalment seuls les types ordinaux peuvent être comparés.
Nono.