Zitat
Zitat
Dieser Beitrag wurde von Donnergroll bearbeitet: 16. Juni 2010 - 12:39 Uhr
Zitat
Zipper sagte am 16.06.2010, 14:30:
public class BubbleSort {
/*
* Aufgaben:
*
* 1. In welcher Reihenfolge befinden sich die Zahlen des Array liste
* beim ersten vollstaendigen Durchlauf der for-Schleife
* (= 1. Durchlauf der while-Schleife)?
*
* - 0 4 6 1 9
*
* 2. Was passiert in der if-Anweisung? (Art des Ergebnis: Satz)
*
* - Es wird überprüft, ob das Element im Array an Stelle i groeßer ist, als das Element
* - an Stelle i+1, also dem nachfolgenden Element
*
* 3. Wie oft wird das, was innerhalb der while-Schleife steht,
* bei dem gegebenen Array liste ausgeführt? (Art des Ergebnis: eine Zahl)
*
* - Schleifendurchlaeufe: 4
*
* 4. Erkläre das Bubble-Sortierverfahren. (Art des Ergebnis: ein bis wenige Sätze)
*
* - beim sogenannten "bubble sort" wird ein Element immer mit seinem Nachfolger
* - verglichen, je nach ausgewaehlter Reihenfolge, wird das kleinere Element
* - nach vorne, bzw. nach hinten gesetzt.
* - Das erste Element wird in eine Zusatzvarieable gespeichert, damit es mit dem
* - Wert des zweiten Elementes ueberschreiben werden kann, nun wird das zuvor
* - gespeicherte Element an die Stelle geschoben, wo sich zuvor das andere Element
* - befand.
*
*/
public static void sortiere(int[] array) {
boolean unsortiert = true;
int temp;
int count = 0;
while (unsortiert) {
unsortiert = false;
for (int i = 0; i < array.length-1; i++) {
if (array[i] > array[i+1]) {
temp = array [i];
array [i] = array [i+1];
array [i+1] = temp;
unsortiert = true;
} // Ende der if-Anweisung
} // Ende der for-Schleife
count++;
} // Ende der while-Schleife
System.out.println("Schleifendurchlaeufe: "+count);
} // Ende der Methode
public static void main (String [] args) {
int [] liste = {0,9,4,6,1};
sortiere(liste);
for (int i = 0; i < liste.length; i++) {
System.out.print (liste[i]+" ");
} // Ende der for-Schleife
} // Ende der Methode
} // Ende der KlasseZipper sagte am 16.06.2010, 14:30: