Starke Verständnisprobleme mit Insertionsort !?



  • Hallo liebe Programmierergemeinde .
    Ich hab starke Probleme mit dem umsetzen des Insertionsorts in C++ .
    Die Arbeitsweise des Algorithmus ist mir klar , doch sobald ich versuche den Code zu interpretieren oder zu verstehen scheitere ich .. DENKBLOCKADE
    Ich nehme mir meistens ein Beispiel Array aus Integer Zahlen und gehe den Code Zeile für Zeile durch .

    1. for(int i = 1; i < length; i++) 
    2.			{
    3.				int x = array[i];
    4.
    5.				int j = i;
    6.				while( j>1 && array[j-1] > x) {
    7.					array[j] = array[j-1];
    8.					j--;
    9.				}
    10.				array[j] = x; 
    11.			}
    

    Ich verstehe nicht warum in Zeile 10 dem array an der Stelle j nochmal der Wert des arrays an der Stelle i zugewisen wird ..
    Das ergibt für mich keinen Sinn ...
    Ich würd es Super finden wenn mir da jemand helfen könnte ,danke ...



  • Dies ist ein ideales Beispiel, um sich mit dem Thema Schreibtischtest zu beschäftigen. 😉

    http://de.wikipedia.org/wiki/Schreibtischtest



  • 1. Wo hast du den Code her? IMHO sollte das in der Schleife nämlich int i = 0 heißen.
    2. Ich würde den Code erstmal gescheit formatieren, dann wie gesagt Schreibtischtest - Netter Link, Bacid90210!


Anmelden zum Antworten