使用遞迴實現可變迴圈層數

2021-10-24 16:25:59 字數 485 閱讀 1817

不確定多層迴圈巢狀的簡潔寫法

原創|瀏覽:2451|更新:2014-06-04 11:43

相信我們都寫過2層for迴圈。一旦超過3層迴圈,**就會很難看,並且增加很多變數和**。

for(int i=0;i<10;i++)

for(int j=0;j<10;j++)

for(int k=0;j<10;k++)

...

而有時候我們也不能確定到底需要幾層迴圈巢狀,也就是說這個層數是個變數。這樣的**應該怎麼寫呢?

這裡教你一種遞迴的簡潔寫法。

int arr = new int[12];

void xunhuan(int j)

while (arr[j]<3)

}

呼叫:

xunhuan(0);

常量3表示每層的迴圈次數,迴圈層數12,可以根據情況設定。太大可能會造成棧溢位

未知迴圈層數的遞迴處理

最近遇到乙個問題,當你不知道你需要進行幾層迴圈來處理你的資料時,該怎麼辦。例如,你要構建乙個 但是你只得到乙個已經填充好資料的list,卻並不知道需要構建的 是幾行幾列。處理的主要邏輯就是,採用遞迴的方法,遍歷list的下標。閒話不多說,附上 public class testmultiround ...

遞迴與尾遞迴的迴圈實現

程式呼叫自身的行為稱為遞迴,是函式自己呼叫自己。乙個函式在其定義中直接或間接呼叫自身的一種方法,它通常把乙個大型的複雜的問題轉化為乙個與原問題相似的規模較小的問題來解決,可以極大的減少 量,遞迴的能力在於用有限的語句來定義物件的無限集合。遞迴的思想是把問題分解成為規模更小且與原問題有著相同解法的問題...

遞迴 迴圈實現Fibonacci數列

程式實現的 1 1 2 3 5 8 13 21 34 55 這麼乙個數列的功能 數列索引index 1,2 n 方法一 利用函式遞迴實現fibonacci數列 include include define n 10 static int print fibonacci int index int m...