| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 421 人关注过本帖
标题:小弟弄了个程序出点问题,各位帮忙看看!!~~
只看楼主 加入收藏
franbk
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-11-16
收藏
 问题点数:0 回复次数:0 
小弟弄了个程序出点问题,各位帮忙看看!!~~

此程序为二叉树查找程序,其中中序原来为递归中序遍历,我想改为非递归中序遍历,但是主函数和结构不知如何加上栈,运行时显示 错误:
警告? temp.c 4: 'NULL'的宣告是不相等的
错误 temp.c 20: 说明缺少';'
错误 temp.c 56: 未定义的符号'P' 在函数
错误 temp.c 65: 说明语法错误

我知道就错在结构体和p 在主函数定义,但是我不知增加什么语句,请各位给点意见~~!谢谢!
typedef struct
{
Bitree Elem[maxsize];
int top;
}p;


void inorder(BiTree bt) 中序遍历
{
BiTree stack[MAXSIZE],p=bt;
int top=0;
while(p!=NULL||top>0)
if(P!=NULL)
{ stack[++top]=p;
p=p->lchild;
}
else{
p=stack[top--];
printf("%d",p->data);
p=p->rchild;
}


main()

{ char ch; struct stack *P;

KeyType key;

BiTree bt,s;

int i=0;

printf("\nPlease input number(0:end)\n");

scanf("%d\n",&key);

bt=NULL;

while (key!=0)
{
s=(BiTree)malloc(sizeof(BiTNode));

(s->data).key=key;s->lchild=s->rchild=NULL;

insertBST(&bt,s);

scanf("%d",&key);

}

printf("\nCreate is successful\n");

/*中序遍历已建立的二叉排序树*/

inorder(bt);

/*二叉排序树的查找,可多次查找,并输出查找的结果*/

do {

printf("\nInput the key you want to search:");

scanf("%d",&key);

s=searchBST(bt,key);

if (s!=NULL) printf("\nsuccess,the value is %d ",s->data.key);

else printf("\nunsuccess");

printf("\ncontinue(y/n):\n");

ch=getch();

}

while (ch=='y' || ch=='Y') ;

}

搜索更多相关主题的帖子: 如何 二叉树 结构体 
2005-11-16 21:51
快速回复:小弟弄了个程序出点问题,各位帮忙看看!!~~
数据加载中...
 
   



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

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