flag

Status
Nicht offen für weitere Antworten.
M

moni

Gast
im zusammenhang von arrays
ich verstehe diesen sortier algorithmus nicht
//Sortier-Algorithmus

for (i = 0; i < array2sort.length-1; i++){
flag = 0;
for (j = array2sort.length-1; j > i; j--){
++verg;
if (array2sort[j] < array2sort[j-1]){
tmp = array2sort[j];
array2sort[j] = array2sort[j-1];
array2sort[j-1] = tmp;
++tauschop;
flag = 1;
}
}
if (flag == 0)
break;
 

Lim_Dul

Top Contributor
moni hat gesagt.:
im zusammenhang von arrays
ich verstehe diesen sortier algorithmus nicht
//Sortier-Algorithmus
Code:
    for (i = 0; i < array2sort.length-1; i++){
      flag = 0;
      for (j = array2sort.length-1; j > i; j--){
        ++verg;
        if (array2sort[j]  < array2sort[j-1]){
          tmp = array2sort[j];
          array2sort[j] = array2sort[j-1];
          array2sort[j-1] = tmp;
          ++tauschop;
          flag = 1;
        }
      }
      if (flag == 0)
        break;

So kann man das lesen :) PS: Am Ende fehlt noch eine }

Stichwort ist hier BubbleSort. Flag ist einfach eine Variable, die anzeigen soll, ob noch irgendwas zu tun war.

Wen die innere Schleife durchgelaufen ist, ohne dass der innere Teil der IF-Bedingung aufgerufen wurde, ist das Array sortiert. Dann kann man sich die restlichen Durchläufe sparen und aus der äußeren Schleife mit break rausspringen.

flag ist hier eine Art Markierungsvariable.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben