Ich habe folgendes Struktogramm vorliegen und bin mir nicht sicher, wie ich es auf das Array anwenden soll, bzw. ob ich es richtig verstanden habe.


In der ersten Zeile soll ich eine Schleife machen, die von n (hier: 6) bis 2 läuft mit der Zählervariable i
in der zweiten Zeile soll ich eine Schleife machen, die von 2 bis i (hier: 6) läuft mit der Zählervariable j
Die dritte Zeile ist eine if-Abfrage. Die Bedingung von dieser Abfrage ist A[j-1] >= A[j].
Ich beginne damit: A [1] >= A [2] --> Bedingung ist erfüllt, da Z >=A. Das heißt ich tausche A[1] mit A[2], also sieht das Array jetzt folgendermaßen aus: W Z O E L F.
Dann prüfe ich: A[2] >= A [3] --> Bedingung ist erfüllt, da Z >=O. Das heißt ich tausche A[2] mit A[3], also sieht das Array jetzt folgendermaßen aus: W O Z E L F.
Das ganze führe ich bis zum Schluss durch und komme dann auf: W O E L F Z.
Habe ich den Algorithmus damit richtig angewandt oder ist da ein Denkfehler enthalen? Irgendwie bin ich mir da so unsicher.
---
Wie muss ich den Algorithmus ändern, dass er stabil arbeitet? Stabil bedeutet doch , dass die Reihenfolge der Datensätze gleichbleibt, deren Sortierschlüssel auch gleich sind. Also wenn zwei Mal das gleiche Element vorkommt, dass dann die ursprüngliche Reihenfolge beibehalten wird.


In der ersten Zeile soll ich eine Schleife machen, die von n (hier: 6) bis 2 läuft mit der Zählervariable i
in der zweiten Zeile soll ich eine Schleife machen, die von 2 bis i (hier: 6) läuft mit der Zählervariable j
Die dritte Zeile ist eine if-Abfrage. Die Bedingung von dieser Abfrage ist A[j-1] >= A[j].
Ich beginne damit: A [1] >= A [2] --> Bedingung ist erfüllt, da Z >=A. Das heißt ich tausche A[1] mit A[2], also sieht das Array jetzt folgendermaßen aus: W Z O E L F.
Dann prüfe ich: A[2] >= A [3] --> Bedingung ist erfüllt, da Z >=O. Das heißt ich tausche A[2] mit A[3], also sieht das Array jetzt folgendermaßen aus: W O Z E L F.
Das ganze führe ich bis zum Schluss durch und komme dann auf: W O E L F Z.
Habe ich den Algorithmus damit richtig angewandt oder ist da ein Denkfehler enthalen? Irgendwie bin ich mir da so unsicher.
---
Wie muss ich den Algorithmus ändern, dass er stabil arbeitet? Stabil bedeutet doch , dass die Reihenfolge der Datensätze gleichbleibt, deren Sortierschlüssel auch gleich sind. Also wenn zwei Mal das gleiche Element vorkommt, dass dann die ursprüngliche Reihenfolge beibehalten wird.