Zitat von
bigg:
Hi,
der Ansatz ein "Array of Record" zu verwenden ist schon relativ gut, allerdings sollte man vermeiden alle Elemente des Arrays zu vertauschen. Beim Vertauschen müßte man theoretisch 3 mal "umkopieren" (und das für jedes Element in der Daten-Struktur) sofern man sich an "Bubblesort" orientiert. Solche Kopiervorgänge sind absolut unnötig und kosten nur unnötig Zeit. Auch soetwas mit anderen Sortieralgorithmen zu machen, ist Schwachsinn.
Wie verhindert man nun, das unnötige umkopieren?
Indem man Zeiger (Pointer) benutzt. Zeiger sind grob gesagt "Speicheradressen".
Man merkt sich also den Speicherort jedes Elements im Array und sortiert dann nur noch die Adressreihenfolge.
PS: Kein Kommentar zu weiteren^^...
Denkst du wirklich, es macht einen so großen Unterschied, ob man nun 4 Byte oder 10 Byte (packed) herumkopiert? Zumal man mit Pointern ein zusätzliches Array benötigt, die Pointerliste.
@Coder: Records _sind_ der einfache Weg (und gehören IMO auf jeden Fall zu "rudimentärem Programmieren")
. Es schadet dir sicher nichts, dich mit ihnen bekannt zu machen.