簡體   English   中英

您如何計算嵌套的for循環迭代多少次?

[英]How do you count how many times a nested for loop iterates?

在下面的代碼中,如果我分別查看它們,則可以跟蹤每個for循環迭代多少次。 例如,兩個for循環都迭代10次,但是,當您將它們組合在一起時,字符串“ hi”將打印20次以上。

內循環迭代多少次?

for(int j=0; j<10; j++) 
    for(int k=10; k>0; k--)
        System.out.println("hi");

只需將每個迭代的數量相乘(在這種情況下為10 * 10)就可以了。 如果發現它並非如此簡單,則可以執行以下測試:

int count = 0;
for(int j=0; j<10; j++){
    for(int k=10; k>0; k--){
        count++;
    }
}
System.out.println("The nested loop iterated " + String.valueOf(count) + " times!");

編輯:也許是一種更簡單的方法來了解正在發生的事情:

int total_count = 0;
for(int j=0; j<10; j++){
    System.out.println("The outer loop has iterated " + String.valueOf(j+1) + " times!"); 
    System.out.println("Executing the inner loop");   
    int local_count = 0;
    for(int k=10; k>0; k--){
        local_count ++;
        total_count ++;
        System.out.println("Inner loop #" + String.valueOf(j+1) + " has iterated " + String.valueOf(local_count) + " times!");
        System.out.println("The inner loop's total iterations are " + String.valueOf(total_count) + " times!");
    }
}
System.out.println("The nested loop iterated " + String.valueOf(total_count) + " times!"); 

在處理嵌套循環時,始終嘗試將第一個循環j視為行,將第二個循環k視為列。

在此處輸入圖片說明

left-to-right ,列top-to-bottom 如果將row x column大小相乘,則通常會遇到多少次迭代。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM