我一直在尋找一種算法,所以操作系統不是問題,如何通過文件夾循環,而無需使用遞歸的。遍歷文件夾沒有遞歸
遞歸是沒有答案,因爲遞歸不能去「無窮大」和超越,而「while循環」可以到達那裏。
編程語言並不重要。
我一直在尋找一種算法,所以操作系統不是問題,如何通過文件夾循環,而無需使用遞歸的。遍歷文件夾沒有遞歸
遞歸是沒有答案,因爲遞歸不能去「無窮大」和超越,而「while循環」可以到達那裏。
編程語言並不重要。
您可以使用stack數據結構depth-first遍歷。以下是C#中的一些示例代碼:
var stack = new Stack<string>();
stack.Push(@"C:\");
while (stack.Count > 0)
{
var currentDirectory = stack.Pop();
Console.WriteLine("Visiting: " + currentDirectory);
foreach (var childDirectory in Directory.GetDirectories(currentDirectory))
{
stack.Push(childDirectory);
}
}
謝謝。它的工作完美。 :) – Vizualni
當然,這只是手動複製什麼編譯器會爲你做,如果你已在第一時間使用遞歸。 –
什麼平臺,操作系統? –
你想解決什麼問題?爲什麼遞歸不是答案? –
我在找算法,所以操作系統不是問題。遞歸是沒有答案,因爲遞歸不能去了「無窮大」,而「while循環」可以走了。 – Vizualni