RANGEMENT D'UN TABLEAU DYNAMIQUE

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 - 11 nov. 2002 à 01:29
balgrim Messages postés 52 Date d'inscription vendredi 26 avril 2002 Statut Membre Dernière intervention 28 octobre 2003 - 11 nov. 2002 à 07:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12210-rangement-d-un-tableau-dynamique

balgrim Messages postés 52 Date d'inscription vendredi 26 avril 2002 Statut Membre Dernière intervention 28 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és 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
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és 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
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.

Nono.
Rejoignez-nous