Programmierung

Insertion Sort - Java


 
  1. Aufgabe

    Sortieren durch direktes Einfügen.
    Dieser Suchalgorithmus ist genauso einfach wie Selection-Sort,  aber flexibler.
    Benötigt zwischen N²/4 und N²/2 Vergleiche und N²/8 und N²/4 Austauschoperationen.

    Das betrachtete Element (h) wird eingefügt, indem die größeren Elemente (a[ x ]) um eine Position nach rechts kopiert werden und das Element (h) auf dem frei gewordenen Platz (a[ j ]) eingefügt wird.

  2. Struktogramm

    Insertion-Sort

  3. Quellcode

    /** Funktion:  Insertion-Sort, Sortieren durch direktes Einfügen
         Applikation ohne Oberfläche, läuft in der Dos-Box: "java insert"
         @author  DG1XPZ
         @version JDK131
    */

    class insert {

      
    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 ) {
           insert in = new insert ( );                //Instanz von der Klasse "insert" erzeugen
           zahlen=in.sort( zahlen );                //Feld "zahlen" sortieren
          
    System.out.println( in.toString )); //Feld "zahlen" ausgeben
       }

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

       public int[ ] sort( int[ ] z) {
           for ( int i=1; i<z.length
    ; i++ ) {
              int h = z [ i ];
              int j = i;
              while( j>0 && z[ j-1 ] > h ) {
                 z[ j ] = z [ j - 1 ];
                  j - -;
              }
              z[ j ] = h;
           }
          
    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 zum Schluss hinzufügen
          
    return s;                                      //Rückgabe des zusammengefügten Strings
       } //public String toString( )

    } //class
    insert


  4. Download insert.java

  5. Download insert.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