问题:写出Ackerman函数的非递归算法
函数具体形式见Ackerman函数
栈的结构体及其基本操作栈的基本操作
//主要算法
</pre><pre name="code" class="cpp">ElemType Akm_N_Recur(ElemType m, ElemType n)
{
MyStack *stack;
ElemType *elem;
stack = InitStack();
while(1)
{
if(m==0)
{
n += 1;
if(stack->top==stack->base)
break;
if((m=PopStack(stack, elem))!=0)
return ;
}
else if(n==0)
{
m -= 1;
n = 1;
}
else
{
PushStack(stack, m-1);
n -= 1;
}
}
DestroyStack(stack);
return n;
}