In diesem Abschnitt werden wir eine interessante Frage sehen. Wir werden zwei Codeausschnitte sehen. Beide haben zwei verschachtelte Schleifen. Wir müssen herausfinden, welches schneller läuft. (Wir gehen davon aus, dass der Compiler den Code nicht optimiert). Die chinesische Übersetzung von
for(int i = 0; i < 10; i++){ for(int j = 0; j<100; j++){ //code } }
for(int i = 0; i < 100; i++){ for(int j = 0; j<10; j++){ //code } }
Beide Codeteile werden gleich oft ausgeführt. Der Code innerhalb der beiden Schleifen wird in beiden Fällen 10.000 Mal ausgeführt. Aber wenn wir genau hinschauen, können wir verstehen, dass der zweite Codeteil mehr Aufgaben erledigt als der erste Codeteil. Im ersten Codeteil wird die innere Schleife zehnmal ausgeführt. Daher werden die Initialisierungs-, Bedingungsprüfungs- und Inkrementierungsvorgänge zehnmal ausgeführt. Aber für den zweiten Codeabschnitt wird die innere Schleife 100 Mal ausgeführt. Daher werden die Initialisierungs-, Zustandsprüfungs- und Inkrementierungsvorgänge 100 Mal durchgeführt. Es wird also länger dauern als der erste Code.
Das obige ist der detaillierte Inhalt vonEin Nested-Loop-Puzzle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!