/**
 * Sortiert ein gegebenes int-Array aufsteigend.
 * Es wird der sog. Bubble-Sort Algorithmus verwendet.
 *
 * @author Holger Knublauch
 */
public class BubbleSort 
{
    public static void main (String args[]) 
    {
        // Erzeuge ein beliebiges Werte-Array
        int[] werte = { 54, 12, -32, 0, 9, -1 };
        
        // fertig zeigt an, ob in einem Durchlauf mindestens
        // ein Wert getauscht wurde (d.h. ob noch ein Durchlauf
        // nötig ist
        boolean fertig = false; // Wert ist hier egal
        do
        {
            fertig = true;
            
            // Durchlaufe alle Werte (bis auf letzten)
            for(int i = 0; i < werte.length - 1; i++)
            {
                // Wenn zwei benachbarte Werte falschrum liegen
                if(werte[i] > werte[i + 1])
                {
                    // Tausche die Werte
                    int z = werte[i];
                    werte[i] = werte[i + 1];
                    werte[i + 1] = z;
                    fertig = false; // Noch ein Durchlauf nötig
                }
            }
        }
        while (!fertig);
        
        // Gib sortiertes Array aus
        System.out.println("Werte:");
        for(int i = 0; i < werte.length; i++) 
        {
            System.out.println("  [" + i + "] = " + werte[i]);
        }
    }
}
