| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 723 人关注过本帖
标题:[求助]树的非递归中序遍历 到底什么问题呢??
取消只看楼主 加入收藏
wxcd
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-8
收藏
 问题点数:0 回复次数:1 
[求助]树的非递归中序遍历 到底什么问题呢??

#include<stdlib.h>
#include<malloc.h>
#include<stdio.h>

#define ok 1;
#define error 0;

typedef struct sun{
char data;
struct sun *lchild;
struct sun *rchild;
}sun,*bittree;


typedef struct zhan{
int *base;
int *top;
int stacksize;
}zhan;

int initstack(zhan &s){
s.base=(int * )malloc(100* sizeof(int));
s.top =s.base;
s.stacksize=100;
return ok;}


int push(zhan &s,int e)
{*(s.top++)=e;
return ok;
}

int pop(zhan &s,int &b)
{ b=*(--s.top);
printf("%d",b);
return ok;

}

stackempty(zhan s){
if(s.top==s.base) {return ok;}
else {return error;}
}


createbittree(bittree &t)
{char ch;
printf("3\n");
scanf("%c",&ch);
if(ch==' ')
t=NULL;
else{
t=(bittree)malloc(sizeof(sun));
t->data=ch;
createbittree(t->lchild);
createbittree(t->rchild);
}
return ok;
}

print(char e)
{printf("%c",e);
return ok;}

int zhongf(bittree t)
{ zhan s;initstack(s);bittree p=t;
while (p||!stackempty(s))
push(s,p);
{if(p){
p=p->lchild;}
else {pop(s,p);
print(p->data);
p=p->rchild;}
}
}

void main(){ bittree t;
createbittree(t);
zhongf(t);

}
为什么无法向栈里压指针呢??

搜索更多相关主题的帖子: 遍历 递归 
2006-05-09 20:13
wxcd
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-8
收藏
得分:0 

呵呵 注意到了 可还是有些问题。。
error C2440: '=' : cannot convert from 'struct sun *' to 'int' 改了后还是 int。。

2006-05-10 18:55
快速回复:[求助]树的非递归中序遍历 到底什么问题呢??
数据加载中...
 
   



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

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