flag

  • Themenstarter Themenstarter moni
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
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;
 
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.

Zurück
Oben