}
}
} i++;
if(!StackEmpty(s)){ }
else return FALSE;
if(!StackEmpty(s)) return FALSE; return OK;
Pop(s,c1); strcpy(a,c1);
void InitStack(Stack &s) { }
Status Push(Stack &s,ElemType e) { }
Status Pop(Stack &s,ElemType e) { }
Status StackEmpty(Stack s) { }
if(s、size==0) return TRUE; else return FALSE; LinkType p; if(s、top){ }
return OK;
strcpy(e,s、top->data); p=s、top; s、top=p->next; delete p; s、size--; LinkType p; p=new NodeType; if(!p) exit(OVERFLOW); p->next=s、top; s、top=p;
strcpy(p->data,e); s、size++; return OK; s、top=NULL; s、size=0;
Status IsOperator(char c) { }
3、24 试编写如下定义得递归函数得递归算法,并根据算法画出求g(5,2)时栈得变化过程。
解:
int g(int m,int n); int main() { }
int g(int m,int n) { }
假设主函数得返回地址为0,递归函数3条语句得地址分别为1、2、3。
3 3 3 3 3 0
0 1 2 3 4 5
64 32 16 8 4 2
if(m>0)
return(g(m-1,2*n)+n); else return 0; int m,n;
cout<<\请输入m与n得值:\cin>>m>>n;
if(n>=0) cout<
char *p=\while(*p){ }
return FALSE;
if(*p==c)
return TRUE; p++;
0m?0,n?0? g?m,n?????gm?1,2n?nm?0,n?0?3、25 试写出求递归函数F(n)得递归算法,并消除递归:
解:
#include
??n?1F?n???n?Fn?2???n?0n?0
{ }
3、26 求解平方根
int i; int a[N]; int n;
cout<<\请输入n:\cin>>n;
for(i=0;i
if(i<1) a[i]=1; else a[i]=i*a[i/2];