读书人

帮小弟我看看小弟我的广义表建立输出

发布时间: 2012-03-17 19:06:28 作者: rapoo

帮我看看我的广义表建立,输出出了什么问题,代码很短
根据字符串建立广义表并输出 在运行过程中出问题,
void InitLists(GList &p,char*s)
{
if(*s=='\0') return;
if(*s=='(')
{
p=new GLNode;
p->tag=LIST;
InitLists(p->ptr.hp,++s);
}
else if((*s>='a'&&*s<='z')||(*s>='A'&&*s<='Z'))
{
p=new GLNode;
p->tag=ATOM;
p->atom=*s;
}
else if(*s==',')
{
p->tag=LIST;
InitLists(p->ptr.tp,++s);
}
else if(*s==')')
{
p=NULL;
return;
}
else return;

}
void PrintLists(GList p)
{
if(p==NULL)return;
else if(p->tag==ATOM)cout<<p->atom;
else{
cout<<"(";
PrintLists(p->ptr.hp);
p=p->ptr.tp;
while(p){
PrintLists(p->ptr.hp);
p=p->ptr.tp;
}
}

}

[解决办法]
网上有的。。。。。。

读书人网 >软件架构设计

热点推荐