Bubble und Insertsort

F

FrankBeckmann

Gast
Hallo Leute,
ich hätte mal eine Frage zu dem Java Quellcode von Bubblesort und Insertsort. Wir haben die beiden Programme in der letzten Stunde bekommen und sollen das in der nächsten Unterrichtsstunde erklären können. Beim Bubblesort hab ich zunächst Probleme mit den ersten beiden For-Schleifen. Hier der Code:

Java Code: Quelltext in neuem Fenster öffnen


Java:
public void bubbleSort()
    {
      for (int j = 0; j <= anzahl-2; j++)
      {
        for (int i = 0; i<= anzahl-(2+j); i++)
        {
          if (zahlenFeld[i] >= zahlenFeld[i+1])
          {
            int hilfe = zahlenFeld[i+1];
            zahlenFeld[i+1] = zahlenFeld[i];
            zahlenFeld[i] = hilfe;
          }
        }
      }
    }


Und beim Insertsort bräuchte ich dann vielleicht nochmal eine ganze Erklärung wenn es möglich ist : )

Java:
 public void direktesEinfuegen()
    {
      int index;
      int wertj;
      for(int j=1;j<anzahl;j++)
      {
        wertj=zahlenFeld[j];
        index=j-1;
        while ((index>=0) && (wertj<zahlenFeld[index]))
        {
          zahlenFeld[index+1]=zahlenFeld[index];
          index = index-1;
        }
        zahlenFeld[index+1]=wertj;
      }
    }
Danke schonmal für eure Hilfe
 
F

FrankBeckmann

Gast
Das andere kann ruhig gelöscht werden, die Themenbeschreibung passt nicht wirklich^^
 
F

FrankBeckmann

Gast
Danke schon mal!

Erst nochmal zum Bubblesort. Was trotzdem noch nicht verstehe, ist was die ersten beiden Forschleifen anstellen.

Java:
 for (int j = 0; j <= anzahl-2; j++)
      {
        for (int i = 0; i<= anzahl-(2+j); i++)
        {

Anzahl bedeutet ja die Anzahl der Zahlen die Sortiert werden sollen. Die erste Zeile bedeutet dann also für j = 0 (j ist also eine beliebige Variable?) ist j kleiner als die Anzahl minus 2, und wird dann immer um 1 größer. Aber warum macht man das? Und was bedeutet dann die zweite Zeile mit der Variable i?
 

Ähnliche Java Themen

Neue Themen


Oben