关于二叉链表的小问题,各位帮个忙

wenhongang 2011-05-22 08:28:35
程序实现的是二叉链表的创建和遍历,如下
#include <malloc.h>
#include <stdio.h>
typedef char ELEMTYPE;
struct BinNode {
ELEMTYPE element;
struct BinNode *left;
struct BinNode *right;
};
struct BinNode *root;
void setup(struct BinNode **t)
{
ELEMTYPE ch;
struct BinNode *p;
scanf("%c",&ch);
if (ch == ' ')
*t = NULL;
else {
p = (struct BinNode *)malloc(sizeof(struct BinNode));
p->element = ch;
*t = p;
setup(&(p->left));
setup(&(p->right));
}
}

void preorder(struct BinNode *t)
{
if (t != NULL) {
printf("%c ",t->element);
preorder(t->left);
preorder(t->right);
}
}

void inorder(struct BinNode *t)
{
if (t != NULL) {
inorder(t->left);
printf("%c ",t->element);
inorder(t->right);
}
}

void postorder(struct BinNode *t)
{
if (t != NULL) {
postorder(t->left);
printf("%c ",t->element);
postorder(t->right);
}
}
int main()
{

setup(&root);
printf("\nthe preorder is:\n");
preorder(root) ;
printf("\nthe inorder is:\n");
inorder(root);
printf("\nthe postorder is:\n");
postorder(root);
}
这个程序不是我写的,我觉得应该可以的运行成功的,但是创建二叉链表就是不行,编译器没报错,不知道那的问题,应该是setup函数的问题。
...全文
62 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
leebeen34 2011-05-23
  • 打赏
  • 举报
回复

typedef struct BiTNode
{
int data;//结点数据
BiTNode *lchild;//左子树
BiTNode *rchild;//右子树
}BiTNode,*BiTree;
void CreateBiTree(BiTree &T)
{
char c;
cin>>c;
if((char)c=='`')
{
T=NULL;
}
else
{
T=new BiTNode;//给T开辟内存空间
if(!T)//T为空
{
exit(0);
}
T->data=c;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
void PreOrderTraverse(BiTree T)
{
if(T)//二叉树非空
{
cout<<(char)T->data<<" ";//访问根结点
PreOrderTraverse(T->lchild);//先序遍历左子树
PreOrderTraverse(T->rchild);//先序遍历右子树
}
else
{
cout<<"`"<<" ";
}
}
void InOrderTraverse(BiTree T)
{
if(T)//二叉树非空
{
InOrderTraverse(T->lchild);//中序遍历左子树
cout<<(char)T->data<<" ";//访问根结点
InOrderTraverse(T->rchild);//中序遍历右子树
}
else
{
cout<<"`"<<" ";
}
}
void PostOrderTraverse(BiTree T)
{
if(T)//二叉树非空
{
PostOrderTraverse(T->lchild);//后序遍历左子树
PostOrderTraverse(T->rchild);//后序遍历右子树
cout<<(char)T->data<<" ";//访问根结点
}
else
{
cout<<"`"<<" ";
}
}
  • 打赏
  • 举报
回复
没必要用那么多的指针

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧