J'utilise le tri par insertion pour trier une liste de chaînes (EmailingListArray ci-dessous). EmailingListArray[1]
est un tableau contenant des noms. EmailingListArray[2]
contient les emails correspondants. Je trie EmailingListArray[1]
et quand quelque chose change dedans, il change aussi le deuxième tableau, ainsi ils sont triés ensemble. Une façon maladroite de faire les choses, je sais, mais il est pour les cours et je voulais mettre une sorte d'insertion dans un endroit pour essayer obtenir une marque supplémentaire: LImpossible de trouver une erreur simple dans l'algorithme de tri par insertion Delphi
Voici mon code
//quick check to make sure array contains correct values
for first := 0 to EmailingListArray[1].Count do
ShowMessage(EmailingListArray[1][first]);
//then sort
First := 0;
Last := EmailingListArray[1].Count;
for CurrentPointer := First +1 to Last-1 do
begin
CurrentValue := EmailingListArray[1][CurrentPointer];
CurrentValue2 := EmailingListArray[2][CurrentPointer];
Pointer := CurrentPointer + 1;
while ((EmailingListArray[1][Pointer] > CurrentValue) AND (Pointer > 0)) do
begin
EmailingListArray[1][Pointer+1] := EmailingListArray[1][Pointer];
EmailingListArray[2][Pointer+1] := EmailingListArray[2][Pointer];
pointer := Pointer -1;
end;
EmailingListArray[1][Pointer + 1] := CurrentValue;
EmailingListArray[2][Pointer + 1] := CurrentValue;
end;
//show message at the end for a check
ShowMessage('hello?');
Le message " Bonjour?" n'est pas affiché pour une raison quelconque: S. Le programme ne plante pas ou quoi que ce soit, il devrait donc au moins afficher "bonjour?" à la fin. Ce n'est pas non plus le tri de mes baies. Je ne sais pas non plus si l'algorithme est écrit correctement, je l'ai sorti de notre manuel. Toute aide serait grandement appréciée!
Merci, son tri bien maintenant, juste un problème, c'est de ne pas trier le premier élément. Pensez que c'est ce que vous vouliez dire par le point 3, mais ne savez pas quoi faire: S – JamesB123
@ JamesB123, voir ma mise à jour ... –
Thanks man! Appréciez-le :) – JamesB123