2017-07-04 2 views
-2

Kann mir jemand erklären, warum die Antwort auf dieses Problem nicht 25,102 ist?Berechnung der zugewiesenen Operatoren

Nehmen Sie für den folgenden Code an, dass die if-Anweisung in 50% der Fälle wahr ist. Wenn ja, wie viele Zuordnungsvorgänge gibt es? (Vergessen Sie nicht die Initialisierungen von i und j zu zählen. Denken Sie auch daran, dass i ++ und J ++ Zuweisungen sind.)

for (int i = 0; i < 100; i++) { 
    for (int j = 0; j < 100; j++) { 
    if (arr[j] < arr[i]) { 
     temp = arr[i]; 
     arr[i] = arr[j]; 
     arr[j] = temp; 
    } 
    } 
} 

Antwort

0

Ich kann sehen, wie Sie 25102 bekam, aber ich glaube, du hast nicht gezählt, um die j Schleife richtig - es fügt nicht nur einen j=0 zum Gesamtwert hinzu, weil die ganze Schleife mehrmals passiert.

+0

Vielen Dank. Ich wusste nicht, dass du es so zählen musstest. – HamHat