Gegeben ist der folgende Codeabschnitt mit einem kleinen eindimensionalen Array. Die Aufgabe ist nun, diesen mittels einfacher Sortieralgorithmen zu sortieren.
.data
array: .byte 0x5, 0x12, 0x4, 0xa, 0x2, 0x1, 0x09, 0x00
.align 4
.text
.global _start
_start:
@ code hier
Sortieralgorithmen sind Verfahren, um Daten in eine bestimmte Reihenfolge zu bringen, wie etwa Zahlen aufsteigend oder Wörter alphabetisch zu ordnen. Das Ziel ist es, die Daten so zu organisieren, dass sie einfacher zu durchsuchen oder zu bearbeiten sind.
Bubble Sort funktioniert, indem benachbarte Elemente in der Liste verglichen und bei Bedarf getauscht werden. Dieser Vorgang wird wiederholt, bis die Liste keine weiteren Tauschvorgänge mehr benötigt. Der Algorithmus bewegt sich durch die Liste und sorgt dafür, dass die größeren Elemente nach oben “aufsteigen”, ähnlich wie Blasen in einem Glas Wasser.
Insertion Sort funktioniert, indem jedes Element einzeln an die richtige Stelle in einer bereits sortierten Teilliste eingefügt wird. Man beginnt mit dem ersten Element als sortiert und fügt dann nacheinander die folgenden Elemente an der passenden Stelle ein, sodass die Teilliste nach jedem Schritt sortiert bleibt.
Kopiere den oben abgebildeten Code in den CPUlator und ergänze ihn so, dass er
zurück | Hauptmenü | weiter |
4.3 Komplexe Datentypen |
---|
4.3.1 Intro |
4.3.2 Structs (Strukturen) |
4.3.3 Arrays in Assembler |
4.3.4 Zugriffsberechnung bei einem eindimensionalen Array |
4.3.5 Lookup-Tables |
4.3.6 Mehrdimensionalen Arrays |