| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 550 人关注过本帖
标题:广义表建立二叉树不知道哪里错了
只看楼主 加入收藏
一一凌
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-2-16
收藏
 问题点数:0 回复次数:0 
广义表建立二叉树不知道哪里错了
#include "stdio.h"
#include<stdlib.h>
#define N 10
struct btree{
char data;
struct btree*left;
struct btree*right;
};
void print(struct btree*head)
{
if(head){
printf("%c",head->data);
print(head->left);
print(head->right);
}
}
main()
{
char *a,b[N];
int top=-1,flag,i=0;
struct btree*stack[N],*p,*head;
head=NULL;
a=b;
gets(a);/*输入广义表*/
while(a[i]) /*扫描广义表字符*/
{
switch(a[i]){
case' ':
break;
case'(':
top++;
stack[top]=p;
flag=1;
break;
case')':
top--;
break;
case',':
flag=0;
break;
defalut:
p=malloc(sizeof(struct btree));
p->data=a[i];
p->left=p->right=NULL;
if(head==NULL)
head=p;
else{
if(flag==1)
stack[top]->left=p;
else
stack[top]->right=p;
}
}
i++;
}
print(head);
}
不知道哪里错了,请帮我看看,输入了没有输出结果
搜索更多相关主题的帖子: 二叉树 
2006-04-14 17:28
快速回复:广义表建立二叉树不知道哪里错了
数据加载中...
 
   



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

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