我有一個方法,這給了我所需要的數量根據設備數量盒可以hold.Currently我一直在使用遞歸避免遞歸
private uint PerformRecursiveDivision(uint m_oTotalDevices,uint m_oDevicesPerBox, ref uint BoxesRequired)
{
if (m_oTotalDevices< m_oDevicesPerBox)
{
BoxesRequired = 1;
}
else if ((m_oTotalDevices- m_oDevicesPerBox>= 0) && (m_oTotalDevices- m_oDevicesPerBox) < m_oDevicesPerBox)
{
//Terminating condition
BoxesRequired++;
return BoxesRequired;
}
else
{
//Call recursive function
BoxesRequired++;
return PerformRecursiveDivision((m_oTotalDevices- m_oDevicesPerBox), m_oDevicesPerBox, ref BoxesRequired);
}
return BoxesRequired;
}
實現這個邏輯有沒有實現任何更好的方法同樣的邏輯沒有使用遞歸。因爲這種方法使得我的應用程序在設備數量超過 50000的情況下非常緩慢。
他可以避免循環週期... – Kiril 2010-03-15 09:01:29
不,不是隊列:堆棧(在一般情況下)。 – 2010-03-15 09:10:10