Ich verwende Insertion sort, um eine Stringliste (EmailingListArray unten) zu sortieren. EmailingListArray[1]
ist ein Array, das Namen enthält. EmailingListArray[2]
enthält entsprechende E-Mails. Ich sortiere EmailingListArray[1]
und wenn sich etwas darin ändert, ändert es auch das zweite Array, also werden sie zusammen sortiert. Eine unangenehme Art und Weise, Dinge zu tun, ich weiß, aber es ist für die Kursarbeit, und ich wollte eine Insertionsort in irgendwo setzen, um zu versuchen eine zusätzliche Markierung erhalten: LKann nicht finden, einfachen Fehler in Delphi Insertion Sort-Algorithmus
Hier ist mein 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?');
Die Meldung " Hallo?" wird aus irgendeinem Grund nicht angezeigt: S. Das Programm stürzt nicht ab oder so, es sollte wirklich "Hallo?" Am Ende. Es sortiert meine Arrays auch nicht. Ich bin auch nicht sicher, ob der Algorithmus richtig geschrieben ist, ich habe es aus unserem Lehrbuch. Jede Hilfe wäre sehr willkommen!
Danke, seine Sortierung nun gut, nur ein Problem, es ist nicht die erste Sache zu sortieren. Denken Sie das ist, was Sie mit Punkt 3 gemeint haben, aber nicht sicher, was zu tun ist: S – JamesB123
@ JamesB123, siehe mein Update ... –
Danke Mann! Bin dankbar :) – JamesB123