| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 747 人关注过本帖
标题:广义表的创建和输出问题 请指点
只看楼主 加入收藏
stonefish
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-8-25
收藏
 问题点数:0 回复次数:0 
广义表的创建和输出问题 请指点

创建和输出广义表,这段程序错在哪里啊?

#include<iostream.h>

#include<stdlib.h>

typedef enum{atom,list}NodeTag;

typedef struct GLnode

{

NodeTag tag;

union

{

char data;

GLnode *slink;

};

GLnode *link;

};

void CreateGList(GLnode *GL)

{

char ch;

ch=cin.get();

GL=(GLnode *)malloc(sizeof(GLnode));

if(ch=='(')

{

GL->tag=list;

CreateGList(GL->slink);

}

else

{

GL->tag=atom;

GL->data=ch;

}

ch=cin.get();

if(ch==',')

CreateGList(GL->link);

else

GL->link=NULL;

}

void PrintGlist(GLnode *GL)

{

if(GL!=NULL)

{

if(GL->tag==list)

{

cout<<'(';

if(GL->slink==NULL)

cout<<" ";

else

PrintGlist(GL->slink);

}

else

cout<<GL->data;

if(GL->tag==list)

cout<<")";

if(GL->link!=NULL)

{

cout<<",";

PrintGlist(GL->link);

}

}

}

void main()

{

GLnode *GL;

CreateGList(GL);

PrintGlist(GL);

}

[此贴子已经被作者于2006-6-8 16:08:12编辑过]

搜索更多相关主题的帖子: 输出 
2006-06-08 15:49
快速回复:广义表的创建和输出问题 请指点
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011509 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved