| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 425 人关注过本帖
标题:看看这个程序
只看楼主 加入收藏
一一凌
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-2-16
收藏
 问题点数:0 回复次数:0 
看看这个程序
#include "stdio.h"
#include<stdlib.h>
struct node{
char data;
struct node*left;
struct node*right;
};
void print(struct node*bt)
{
if(bt){
printf("%c",bt->data);
print(bt->left);
print(bt->right);
}
}
void create(struct node**bt,char*s)
{
int i=0,top=-1,k;
struct node*st[20];
struct node*p;
*bt=NULL;
while(s[i]) {
switch(s[i]) {
case' ':
break;
case'(':
top++;
st[top]=p;
k=1;
break;
case')':
top--;
break;
case',':
k=2;
break;
defalut:
p=malloc(sizeof(struct node));
if(!p) {
printf("error\n");
exit(1);
}
p->data=s[i];
p->left=p->right=NULL;
if(!*bt)
*bt=p;
else {
if(k==1)
st[top]->left=p;
else
st[top]->right=p;
}
}
i++;/*扫描下一字符*/
}
}
main()
{
struct node*bt;
char s[20];
scanf("%s",s);
create(&bt,s);
print(bt);
}
这个程序是想用广义表建立一个二叉树,输出他,但是没有结果显示.
2006-04-20 20:41
快速回复:看看这个程序
数据加载中...
 
   



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

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