J'ai une méthode, ce qui me donne le nombre de boîtes en fonction du nombre d'appareils il peut hold.Currently je l'ai mis en œuvre cette logique en utilisant récursionÉviter récursion
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;
}
Y at-il une meilleure méthode pour mettre en œuvre la même logique sans utiliser la récursivité. Parce que cette méthode rend mon application très lente pour les cas où le nombre de périphériques dépasse 50000.
Il pourrait éviter une période de bouclage ... – Kiril
Non, pas une file d'attente: une pile (dans le cas général). –