Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
zdravim,
existuje nejaky obecny postup ako nahradit rekurziu zasobnikom ?
konkretne mam tuto rekurzivnu metodu
public void funkcia(object v)
{
.
.
.
foreach (object obj in v.array)
{
if (...)
{
funkcia(obj);
.
.
.
}
else if (...)
{
.
.
.
}
}
}dakujem
Offline
↑ k-man:
Jen tam namátkou jsem střelil, netestoval jsem to. Ale myslím, že by to mělo splňovat záměr.
namespace MyStackApplication
{
class MyStackClass
{
Stack<MyObject> stack = new Stack<MyObject>();
public void Process()
{
MyObject[] mo = new MyObject()[];
// fill MyObject array...
stack.Push(mo[0]);
while (stack.Count > 0)
{
MyObject tmpMo = stack.Pop();
MyFunction(tmpMo);
}
}
public void MyFunction(MyObject v)
{
foreach (MyObject obj in v.GetArray())
{
if (obj.SomeProperty == "")
{
stack.Push(obj);
}
else
{
// else...
}
}
}
}
class MyObject
{
public string SomeProperty { get; set; }
public Array GetArray()
{
// return another array
return null;
}
}
}Offline