Bubble Sort endet in Endlosschleife

Status
Nicht offen für weitere Antworten.

Vincent Vega

Mitglied
Guten Tag,

ich habe mal wieder einen Bubble Sort-Algorithmus programmiert.
Allerdings erzeugt der Programmcode eine Endlosschleife.

Sieht einer von euch den Fehler? Ich bin wahrscheinlich schon betriebsblind.

PS: Ich habe bewusst auf eine For-Schleife verzichtet.
Code:
public class BubbleSort {

	public static void main(String[] args) {
		int ziffer[] = {5, 3, 1, 10, 7, 0, 2};
		
		System.out.println("Unsortiert");
		for (int i=0; i<ziffer.length; i++) {
			System.out.println("Wert "+i+": "+ziffer[i]);
		}
		
		int lauf = 0;    // Anzahl der Durchläufe
		int größereZahl; // zum Puffern beim Dreieckstausch
	    boolean getauscht = false;
	    do {
	        getauscht = false;
	        while (lauf < ziffer.length - 1) {
	            if (ziffer[lauf] > ziffer[lauf+1]) {
	                größereZahl = ziffer[lauf];
	                ziffer[lauf] = ziffer[lauf+1];
	                ziffer[lauf+1] = größereZahl;
	                getauscht = true;
	                lauf++;
	            }
	        }
	    } while (getauscht);

		System.out.println("Sortiert");
		for (int i=0; i<ziffer.length; i++) {
			System.out.println("Wert "+i+": "+ziffer[i]);
		}
	}
}
 

Landei

Top Contributor
das lauf++ muss hinter den if block, deshalb die Endlosschleife

Aber richtig funktionieren tut es dann immer noch nicht :p
 

DocRandom

Top Contributor
Habe es anhand Deines Codes neu geschrieben und sollte auch funktionieren:
Code:
public class BubbleSort {

	private int[] numbers;
	
	public BubbleSort(int[] numbers) {
		this.numbers = numbers;
	}
	
	public void sort() {
		
		int idx; // Laufvariable
		boolean switched; // Flag
		
		print("Unsortiert");
		do {
			idx = 0;
			switched = false;
			while (idx < numbers.length -1) {
				if (numbers[idx] > numbers[idx + 1]) {
					int tmp = numbers[idx + 1];
					numbers[idx + 1] = numbers[idx];
					numbers[idx] = tmp;
					switched = true;
				}
				idx++;
			}
			
		}while (switched);
		print("Sortiert:");
	}
	
	private void print(String text) {
		System.out.println(text);
		for (int i = 0; i < numbers.length; i++) {
			System.out.println("Wert " + i + ": " + numbers[i]);
		}
			
	}
	public static void main(String[] args) {
		int[] numbers = {5, 3, 1, 10, 7, 0, 2};
		BubbleSort bs = new BubbleSort(numbers);
		bs.sort();

	}

}
lg
DocRandom
 

Landei

Top Contributor
Mal etwas anders:

Code:
public class BubbleSort {

    private static void bubbleSort(int[] array, int length) {
        if (length > 0) {
            for(int index = 0; index < length-1; index++) {
                int a = array[index];
                int b = array[index + 1];
                if(a > b) {
                    array[index] = b;
                    array[index+1] = a;
                }
            }
            bubbleSort(array, length-1);
        }
    }
    
    public static void bubbleSort(int[] array) {
        bubbleSort(array, array.length);
    }

    public static void main(String[] args) {
        int ziffer[] = {5, 3, 1, 10, 7, 0, 2};

        System.out.println("Unsortiert");
        for (int i = 0; i < ziffer.length; i++) {
            System.out.println("Wert " + i + ": " + ziffer[i]);
        }

        bubbleSort(ziffer);

        System.out.println("Sortiert");
        for (int i = 0; i < ziffer.length; i++) {
            System.out.println("Wert " + i + ": " + ziffer[i]);
        }
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
P Java Bubble Sort,Anfängerfehler Java Basics - Anfänger-Themen 4
N Bubble Sort sortieren mit Int Werte Java Basics - Anfänger-Themen 8
N Schlüsselworte Bubble Sort nach eigener Ordnung Java Basics - Anfänger-Themen 8
S Liste und Bubble Sort Java Basics - Anfänger-Themen 4
S Bubble Sort Java Basics - Anfänger-Themen 5
S Bubble Sort Algorithmus Java Basics - Anfänger-Themen 3
H Bubble sort array Java Basics - Anfänger-Themen 12
M Bubble-Sort und null Werte Java Basics - Anfänger-Themen 4
G Zählen von Zuweisungen bei Bubble Sort Java Basics - Anfänger-Themen 3
V Sortieren mit Bubble-Sort Java Basics - Anfänger-Themen 5
A Bubble-Sort Java Basics - Anfänger-Themen 3
R Frage zu Bubble-Sort Java Basics - Anfänger-Themen 10
F Bubble und Insertsort Java Basics - Anfänger-Themen 3
G Sortieren (bubble) Java Basics - Anfänger-Themen 2
emreiu Formatiertes Output bei Insertion Sort Java Basics - Anfänger-Themen 6
O Sortieren mit Insertion Sort Java Basics - Anfänger-Themen 3
Tw1Z Erste Schritte Sort in java Java Basics - Anfänger-Themen 2
X Collections.sort als Lambda Java Basics - Anfänger-Themen 14
berserkerdq2 Geht collections.sort bei allen? Linkedhashset, ArrayList, HashSet etc. Java Basics - Anfänger-Themen 4
L Insertion Sort bei zweidimensionalem Array Java Basics - Anfänger-Themen 7
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
Marc111111111 Selection Sort in Java?? Java Basics - Anfänger-Themen 6
G Insertion Sort mit Aray Java Basics - Anfänger-Themen 5
O Collections.sort und List.sort mit Lambda Verwirrung Java Basics - Anfänger-Themen 5
B Collections.sort mit zwei Bedingungen? Java Basics - Anfänger-Themen 4
M Collection.sort sortiert nicht Java Basics - Anfänger-Themen 7
CptK Best Practice Merge-Sort als Baum darstellen Java Basics - Anfänger-Themen 3
S Methoden Sort Array Java Basics - Anfänger-Themen 9
I Erste Schritte sort() vs. sort() Java Basics - Anfänger-Themen 9
BadBat ArrayList<String> sort by last word Java Basics - Anfänger-Themen 8
U Methoden Zweidimensionales Array mit Arrays.sort sortieren? Java Basics - Anfänger-Themen 22
X Quick Sort - Vergleichsoperationen zählen Java Basics - Anfänger-Themen 0
O Insertion Sort Java Basics - Anfänger-Themen 4
C OOP array Sortieren ohne den sort Befehl Java Basics - Anfänger-Themen 10
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
J Fehler im Selection Sort Java Basics - Anfänger-Themen 5
O Listen sort-Methode Java Basics - Anfänger-Themen 1
M Quick Sort Java Basics - Anfänger-Themen 4
V Heap-Sort Java Basics - Anfänger-Themen 0
M Methoden Quick Sort Java Basics - Anfänger-Themen 5
T array.sort mit zwei Kriterien Java Basics - Anfänger-Themen 8
H Collections Was ist schneller - HashMap + Sort v TreeMap? Java Basics - Anfänger-Themen 75
S Fehler bei Arrays.sort(array) - Methode!? Java Basics - Anfänger-Themen 3
P collections.sort Java Basics - Anfänger-Themen 2
B Arrays.sort Java Basics - Anfänger-Themen 4
P schneller Sort ? Java Basics - Anfänger-Themen 2
B Merge-Sort Analyse Java Basics - Anfänger-Themen 27
K Array.sort() Java Basics - Anfänger-Themen 12
H Etwas wie sort() / sorted() in JAVA-Collections? Java Basics - Anfänger-Themen 5
B 2 dimensionales Array: Selection Sort Java Basics - Anfänger-Themen 4
F Methoden Insert Sort Fehler Java Basics - Anfänger-Themen 10
P Ein sort problem Java Basics - Anfänger-Themen 6
N Selection Sort Problem Java Basics - Anfänger-Themen 19
Spin sort tokens - somebody knows a better solution? Java Basics - Anfänger-Themen 13
B Strings alphabentisch sortieren mit Hilfe von insertion sort Java Basics - Anfänger-Themen 6
P Array.sort // Arrays ausgeben Java Basics - Anfänger-Themen 21
S String sortieren mit Interface und sort() Java Basics - Anfänger-Themen 6
F Arrays.sort( ) Problem Java Basics - Anfänger-Themen 14
J Liste von Integers mit Selection Sort sortieren Java Basics - Anfänger-Themen 3
B Selection sort Java Basics - Anfänger-Themen 33
E Selection Sort für beliebige Objekte Java Basics - Anfänger-Themen 24
U Selection Sort schnellere Variante Java Basics - Anfänger-Themen 17
T Selection-Sort-Algorithmus Java Basics - Anfänger-Themen 9
Dit_ Collections.sort(..); | Anwendung Java Basics - Anfänger-Themen 4
N java.util.Arrays.sort Warum sind Leerzeichen vor alphabetischen Zeichen sortiert? Java Basics - Anfänger-Themen 12
D Insertion sort auf eine liste Java Basics - Anfänger-Themen 4
X Counting Sort Java Basics - Anfänger-Themen 5
P Problem mit Insertion Sort Java Basics - Anfänger-Themen 4
G Quick Sort - bin ich zu blöd? Java Basics - Anfänger-Themen 7
D sort.exe über java aufrufen Java Basics - Anfänger-Themen 2
S Collection<Typ> sort Java Basics - Anfänger-Themen 4
hedges Insertion Sort Algorithmus problem Java Basics - Anfänger-Themen 18
N Collections Sort ArrayList<> Java Basics - Anfänger-Themen 7
K Arrays.sort() Java Basics - Anfänger-Themen 2
S Collection Sort Java Basics - Anfänger-Themen 15
O Arrays und sort Java Basics - Anfänger-Themen 4
I Selection-Sort // Array *help* Java Basics - Anfänger-Themen 2
G sort(int[] a, int fromIndex, int toIndex) Java Basics - Anfänger-Themen 5
J Selection Sort in Liste implementieren Java Basics - Anfänger-Themen 3
F Klassenmethode Arrays.sort(Object[]a) Java Basics - Anfänger-Themen 2
I Methode Arrays.sort(Object[] arr) Java Basics - Anfänger-Themen 19
K compareTo in Verbinug mit Arrays.sort() Java Basics - Anfänger-Themen 4
0 Selection Sort funktioniert nicht. Java Basics - Anfänger-Themen 3
D Frage zu Collection.sort bzw. Comparator u. Comparable Java Basics - Anfänger-Themen 2
U Array.sort auf variable Array-Größe anwenden Java Basics - Anfänger-Themen 3
D Mit java.util.Arrays.sort die negativen Zahlen hinten Java Basics - Anfänger-Themen 4
D Collections.sort() frage Java Basics - Anfänger-Themen 6
G Arrays.sort() will nicht sortieren Java Basics - Anfänger-Themen 8
G float-Array _ohne_ Arrays.sort sortieren Java Basics - Anfänger-Themen 5
L while Schleife mit 2 Bedingung endet nicht Java Basics - Anfänger-Themen 3
W Methode endet in Dauerschleife Java Basics - Anfänger-Themen 10
N Abbrechen einer Eingabe endet im Fehler Java Basics - Anfänger-Themen 3
J Methoden Schleife endet nie Java Basics - Anfänger-Themen 6
B Methoden addString Methode endet bei Fehleingabe Java Basics - Anfänger-Themen 4
N for-schleife endet nicht Java Basics - Anfänger-Themen 11
B Rekursion endet nicht Java Basics - Anfänger-Themen 24
G Formularübergabe in Servlet endet mit null. Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben