Hallo,
ich habe eine kleine Frage zum Thema BubbleSort. Und zwar habe ich ein Array mit 100 zufälligen Zahlen, aus dem Zahlenbereich 1 bus 1000, die ich sortiert ausgeben möchte. Dazu habe ich verschiedene Sortierverfahren bereits geschrieben, die auch soweit funktionieren und auch bubbleSort funktioniert. Doch nun möchte ich mir zusätzlich zu dem sortierten Array die Anzahl der Vertauschungen ausgeben lassen nur irgendwie wird die Variable nicht hochgezählt. Als Ergebnis bekomme ich immer 0 bei der Anzahl der Vertauschungen.
Hier mein Code zum BubbleSort (Nehme auch gerne Verbesserungsvorschläge generell zum Code):
Würde mich freuen wenn mich jemand aufklären kann woran das liegt. Sitze da bereits einige Zeit dran.
Freundlich Grüße
ich habe eine kleine Frage zum Thema BubbleSort. Und zwar habe ich ein Array mit 100 zufälligen Zahlen, aus dem Zahlenbereich 1 bus 1000, die ich sortiert ausgeben möchte. Dazu habe ich verschiedene Sortierverfahren bereits geschrieben, die auch soweit funktionieren und auch bubbleSort funktioniert. Doch nun möchte ich mir zusätzlich zu dem sortierten Array die Anzahl der Vertauschungen ausgeben lassen nur irgendwie wird die Variable nicht hochgezählt. Als Ergebnis bekomme ich immer 0 bei der Anzahl der Vertauschungen.
Hier mein Code zum BubbleSort (Nehme auch gerne Verbesserungsvorschläge generell zum Code):
Java:
public void bubbleSort(int[] array) {
bubbleArray = array;
int vertauschungen = 0;
int n = bubbleArray.length;
do {
int m = 1;
for(int i = 0; i < n - 1; i++) {
if(bubbleArray[i] > bubbleArray[i + 1]) {
int temp = bubbleArray[i];
bubbleArray[i] = bubbleArray[n];
bubbleArray[n] = temp;
vertauschungen++;
m = i + 1;
}
}
n = m;
} while (n > 1);
for(int x = 0; x < bubbleArray.length; x++) {
System.out.print(bubbleArray[x] + " | ");
}
System.out.println("Anzahl der Vertauschungen: " + vertauschungen);
}
Würde mich freuen wenn mich jemand aufklären kann woran das liegt. Sitze da bereits einige Zeit dran.
Freundlich Grüße