设计一棵二叉树(要求不少于4层, 10个结点)

爱橙子的OK绷 2011-10-28 10:28:07
请给出程序!!!编程打印该树的先序、中序、后序遍历序列。
...全文
263 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
尘缘udbwcso 2011-11-03
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <malloc.h>
//二叉树类型定义
typedef int ElemType;
typedef struct tree
{
ElemType data;
struct tree *lchild;
struct tree *rchild;
}biTreeNode, *biTree;

/*
*功能:创建二叉树(先序)
*参数:二叉树根结点地址的地址
*/
void createBiTree(biTree *root)
{
ElemType tmp;
scanf("%d", &tmp);
if(tmp == 0)
{
*root = NULL;
return;
}
*root = (biTree)malloc(sizeof(biTreeNode));
if(*root == NULL)
return;
(*root)->data = tmp;
createBiTree(&(*root)->lchild);
createBiTree(&(*root)->rchild);
}
/*
*功能:访问二叉树结点
*参数:二叉树根结点地址
*/
void visit(biTree root)
{
printf("%d ", root->data);
}
/*
*功能:先序遍历二叉树
*参数:二叉树根结点地址
*/
void preOrderTraverse(biTree root)
{
if(root == NULL)
return;
visit(root);
preOrderTraverse(root->lchild);
preOrderTraverse(root->rchild);
}
/*
*功能:中序遍历二叉树
*参数:二叉树根结点地址
*/
void inOrderTraverse(biTree root)
{
if(root == NULL)
return;
inOrderTraverse(root->lchild);
visit(root);
inOrderTraverse(root->rchild);
}
/*
*功能:后序遍历二叉树
*参数:二叉树根结点地址
*/
void postOrderTraverse(biTree root)
{
if(root == NULL)
return;
postOrderTraverse(root->lchild);
postOrderTraverse(root->rchild);
visit(root);
}
int main()
{
biTree tree;
createBiTree(&tree);
printf("先序遍历:\n");
preOrderTraverse(tree);
printf("\n中序遍历:\n");
inOrderTraverse(tree);
printf("\n后序遍历:\n");
postOrderTraverse(tree);
printf("\n");
return 0;
}

1 2 4 8 0 0 9 0 0 5 10 0 0 11 0 0 3 6 12 0 0 13 0 0 7 14 0 0 15 0 0
先序遍历:
1 2 4 8 9 5 10 11 3 6 12 13 7 14 15
中序遍历:
8 4 9 2 10 5 11 1 12 6 13 3 14 7 15
后序遍历:
8 9 4 10 11 5 2 12 13 6 14 15 7 3 1



数据要自己输入
向立天 2011-11-03
  • 打赏
  • 举报
回复
你这是来布置作业?
Eleven 2011-11-03
  • 打赏
  • 举报
回复
Google一下吧,应该不少的
yuucyf 2011-11-03
  • 打赏
  • 举报
回复
你用"二叉树遍历"关键字在百度上搜搜,一大堆.
http://baike.baidu.com/view/549587.htm
uc_fly 2011-11-03
  • 打赏
  • 举报
回复
呵呵,好多教材都有现成的啊。。。
z_lanjin 2011-11-02
  • 打赏
  • 举报
回复
额,我也在找这个呢

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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