廉尔竹0I0
白羊东方神起
关注数: 0
粉丝数: 0
发帖数: 5
关注贴吧数: 0
求大神指教,为什么link会有错误 #include<iostream> #define max 4 using namespace std; typedef struct{ int data[max]; int top; char motto;}sqstack; void initstack(sqstack *&s)//栈的初始化 {s=(sqstack *)malloc(sizeof(sqstack));s->top=-1;} int push(sqstack *&s,int e)//进栈 {if(s->top==max-1)return 0;s->top++;s->data[s->top]=e;return 1;} int pop(sqstack *&s,int e)//出栈 {if(s->top==-1)return 0;s->top--;e=s->data[s->top];return e;} void instack(sqstack *&s,char e){s->motto=e;} void move(sqstack *&s,sqstack *&l)//输出 { int e;pop(s,e);e=pop(s,e);push(s,e);cout<<e;cout<<"("<<s->motto<<","<<l->motto<<")"<<endl;} void hanio(int n,sqstack *&A,sqstack *&B,sqstack *&C)//hanio模型 {if(n==1)move(A,C);else{hanio(n-1,A,C,B);move(A,C);hanio(n-1,B,A,C);}} int mian(){ int a[4]={1,2,3,4},n; sqstack *A,*B,*C;initstack(A);initstack(B);initstack(C); for(n=0;n<max;n++)push(A,a[n]); instack(A,'A');instack(B,'B');instack(C,'C');hanio(max,A,B,C); return 0;} 题目是利用栈解决hanio模型。我实在找不出错误,求指教?
求大神帮帮忙 #include<iostream>using namespace std;typedef struct{char data[4];int top;char motto;}sqstack;int push(sqstack *&s,char &e){ if(s->top==3) return 0; s->top++; s->data[s->top]=e; return 1;}int pop(sqstack *&s,char &e){ if(s->top==-1) return 0; e=s->data[s->top]; s->top--; return 1;}void move(sqstack *A,sqstack *B){ char e; pop(A,e);push(B,e);cout<<A->motto<<"->"<<B->motto<<"/t"<<e<<endl;cout<<"you"<<endl;}void hanoi(int n,sqstack *A,sqstack *B,sqstack *C) {if (n==1) move(A,C); else { hanoi(n-1,A,C,B); move(A,C); hanoi(n-1,B,A,C);}}int main(){ char q[4]={'a','b','c','d'};int i;cout<<"d盘最小...a盘最大"<<endl; sqstack *A,*B,*C; A->motto='A';B->motto='B';C->motto='C';for(i=0;i<4;i++)push(A,q[i]);hanoi(4,A,B,C);return 0;}为什么没输出啊?
1
下一页