Programmierung

Bubble Sort - Java


 
  1. Aufgabe

    Sortieren durch Tauschen von zwei nebeneinander liegenden Elementen.
    Obwohl Bubble-Sort eine Abart von Selection-Sort ist, werden mehr Tauschvorgänge durchgeführt um jedes Element an seinen Platz zu bringen.
    Benötigt N²/2 Vergleiche und N²/2 Austauschoperationen.

    Die ersten beiden Elemente werden verglichen. Ist das zweite Element kleiner, werden die Elemente getauscht.  (2,7),1,5,6,... 
    Dann werden die nächsten beiden Elemente verglichen bis zum Ende. 2,(7,1),5,6
    Danach beginnt die Prozedur von vorne bis keine Elemente mehr getauscht werden müssen.

  2. Struktogramm

    Bubble-Sort

  3. Quellcode

    /*
       Funktion: Bubble-Sort, Sortieren durch direkten Nachbartausch
       Applikation ohne Oberfläche, läuft in der Dos-Box: "java bubble"
       @author  DG1XPZ
       @version JDK 131
    */

    class bubble {

       static int[ ] zahlen={ 9,5,8,6,3,7,4,0,1,2 };      //Array "zahlen" deklarieren und befüllen

       public static void main( String[ ] vArgs ) {
           bubble b = new bubble( );            //Instanz von der Klasse "bubble" erzeugen
           zahlen=b.sort( zahlen );                //Feld "zahlen" sortieren
          
    System.out.println(b.toString( ));   //Feld "zahlen" ausgeben
       }

       /** Funktion: Sortieren eines Arrays nach der Bubble-Sort-Methode
            @param array Das zu sortierende 1-Dimensionale Array 
            @return Rückgabe des sortierten Arrays
       */

       public int
    [ ]  sort( int[ ] z) {
           for ( int i=0; i<z.length
    -1; i++ ) {
              for ( int j=1; j<z.length; j++) {
                 if ( z[ j - 1 ] > z[ j ] ) {
                    int temp=z[ j - 1 ];  // z[j-1] mit z[j] tauschen
                    z[ j - 1 ] = z[ j ];      //     -"-
                    z[ j ] = temp;         //     -"-
                 }
              }
           }
          
    return z//Rückgabe des sortierten Arrays
       } //public int[ ] sort(int[ ] z)

       /** Funktion: Den Inhalt des 1-Dimensionalen Arrays zu einem String zusammenfügen
           @return           Der zusammengefügte String
       /*

       public
    String toString( ) {
           String
    s="";
           for ( int i=0; i<zahlen.length; i++ ) {
              s=s+zahlen[ i ]+", ";                 //sortierte Zahlen zum String hinzufügen + Komma
           }
           s=s+"\n" );                                   // Zeilenumbruch hinzufügen
          
    return s;                                      //Rückgabe des zusammengefügten Strings
       } //public String toString( )

    } //class bubble


  4. Download bubble.java

  5. Download bubble.class

 

http://www.counter-service.de http://www.counter-service.de

Home
uebermich
Programmierung
Amateurfunk
Elektronik
Download
Links
E-Mail
Gästebuch/Meckerecke
Counter-DG1XPZ