欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构二叉树子系统.docx

    • 资源ID:621510       资源大小:17.75KB        全文页数:17页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构二叉树子系统.docx

    1、数据结构二叉树子系统. /* *题目:按屏幕提示用前序方法建立一棵二叉树,并能按凹入法显示二叉树结构。 * 编写前序遍历、中序遍历、后序遍历、层次遍历程序。 * 编写求二叉树的叶结点数、总结点数和深度的程序。 * 设计一个选择式菜单,以菜单方式选择下列操作。 * 二叉树子系统 * * * * 1-建二叉树 * * * 2-凹入显示 * * * 3-先序遍历 * * * 4-中序遍历 * * * 5-后序遍历 * * * 6-层次遍历 * * * 7-求叶子数 * * * 8-求结点数 * * * 9-求树深度 * * * 0-返 回 * * * * 请选择菜单号(0-9) */ #includ

    2、e #include typedef struct bTree /二叉树结点 char data; /值域 struct bTree *lchild; /左孩子 struct bTree *rchild; /右孩子 BT; BT *createTree(); void showTree(BT *t); void preOrder(BT *t); void postOrder(BT *t); void inOrder(BT *t); void levelOrder(BT *t); int leafNum(BT *t); int nodeNum(BT *t); int treeDepth(BT *

    3、t); /* Function: main() Description: 主调函数 . . Calls: createTree() showTree() preOrder() postOrder() inOrder() leafNum() levelOrder() nodeNum() treeDepth() Input: NULL Return: void Others: NULL */ void main() BT *t = NULL; int choice, k = 1; while (k) printf( 二叉树子系统n); printf(*n); printf(* 1-建二叉树 *n)

    4、; printf(* 2-凹入显示 *n); printf(* 3-先序遍历 *n); printf(* 4-中序遍历 *n); printf(* 5-后序遍历 *n); printf(* 6-层次遍历 *n); printf(* 7-求叶子数 *n); printf(* 8-求结点数 *n); printf(* 9-求树深度 *n); printf(* 0-返 回 *n); printf(*n); 牰湩晴尨请选择菜单号(0-9):); fflush(stdin); scanf(%d, &choice); switch(choice) case 1: 牰湩晴尨请输入根结点(0表示该结点为空):

    5、); t = createTree(); 牰湩晴尨二叉树建立成功。n); break; . . case 2: showTree(t); break; case 3: 牰湩晴尨先序遍历序列:); if (t = NULL) 牰湩晴尨空。n); else preOrder(t); break; case 4: 牰湩晴尨中序遍历序列:); if (t = NULL) 牰湩晴尨空。n); else inOrder(t); break; case 5: 牰湩晴尨后序遍历序列:); if (t = NULL) 牰湩晴尨空。n); else postOrder(t); break; case 6: 牰湩晴

    6、尨层次遍历序列:); if (t = NULL) 牰湩晴尨空。n); else . . levelOrder(t); break; case 7: 牰湩晴尨该二叉树的叶子数:); if (t = NULL) printf(。n); else printf(%d。n, leafNum(t); break; case 8: 牰湩晴尨该二叉树的结点数为:); if (t = NULL) printf(。n); else printf(%d。n, nodeNum(t); break; case 9: 牰湩晴尨该二叉树的深度为:); if (t = NULL) printf(。n); else prin

    7、tf(%d。n, treeDepth(t); break; case 0: k = 0; break; default: k = 1; break; . . /* Function: createTree() Description: 建立二叉树 Calls: createTree() Input: NULL Return: BT * Others: NULL */ BT *createTree() /建立二叉树 BT *t; char x; getchar(); scanf(%c, &x); /获取输入的结点值 if (x = 0) /输入的值为零,结点为空 t = NULL; else t

    8、 = (BT *)malloc(sizeof(BT); t-data = x; /赋值 牰湩晴尨请输入结点%c的左孩子:, t-data); t-lchild = createTree(); /递归建立左孩子 牰湩晴尨请输入结点%c的右孩子:, t-data); t-rchild = createTree(); /递归调用 return t; /* Function: showTree() Description: 凹入显示二叉树 Calls: void Input: t:结点指针 Return: void Others: NULL */ void showTree(BT *t) /显示二叉树

    9、 . . BT *sta100, *p; int lev1002; /第一个空存要空的长度,第二空存左右孩子的标示 int tp, n, i, wid = 4; if (t != NULL) /结点非空 牰湩晴尨凹入表示法:n); tp = 1; statp = t; /将各个结点的指针放在指针数组中 levtp0 = wid; /显示的前面的空白长度 while (tp 0) p = statp; n = levtp0; /显示 for (i = 0; idata); for (i = n+1; i lchild != NULL) tp+; statp = p-lchild; levtp0

    10、= n+wid; levtp1 = 1; if (p-rchild != NULL) tp+; statp = p-rchild; levtp0 = n+wid; . . levtp1 = 2; /* Function: preOrder() Description: 先序遍历 Calls: preOrder() Input: t:结点指针 Return: void Others: NULL */ void preOrder(BT *t) /先序遍历 if (t) /结点不为空 printf(data); /显示 preOrder(t-lchild); /递归调用 preOrder(t-rchild); /* Function: postOrder() Description: 后序遍历 Calls: postOrder() Input: t:结点指针 Return: void Others: NULL *


    注意事项

    本文(数据结构二叉树子系统.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开