Programmierung

Insertion Sort - C++


 
  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

    #include<iostream.h>
    // Funktion: Insertion-Sort, sortieren durch direktes Einfügen
    // Autor : DG1XPZ
    // Sprache : Borland C++ V5.0

    void sort(int z[]);
    int zahlen[] = {
    9,5,8,6,3,7,4,0,1,2}; /* Zahlenarray*/
    int i,j,h,laenge;

    void main(void){
       laenge=sizeof(zahlen)/sizeof(zahlen[0]);
       cout<<
    "Unsortiert: ";
       for(i=
    0;i<laenge;i++){
          cout<<zahlen[i]<<
    ",";
       }
       cout<<
    "\b \n";
       sort(zahlen);
       cout<<
    "Sortiert : ";
       for(i=
    0;i<laenge;i++){
          cout<<zahlen[i]<<
    ",";
       }
       cout<<
    "\b \n";
    }

    void sort(int z[]){
       for (i=
    0;i<laenge;i++){
          h=z[i];
          j=i;
          while (j>
    0 && z[j-1] > h){
             z[j]=z[j-
    1];
             j--;
          }
          z[j]=h;
       }
    }


  4. Download insert.zip

 

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

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