第十周项目一二叉树算法库
来源:互联网 发布:开源推荐系统 python 编辑:程序博客网 时间:2024/06/08 13:36
/*Copyright (c) 2015,烟台大学计算机学院 *All right reserved *文件名称:main.cpp *作者:姜延锴 *完成日期:2016年11月10 *版本号:v1.0 * *问题描述:定义二叉树的链式存储结构,实现其基本运算,并完成测试。*/ main函数
<pre name="code" class="cpp">#include <stdio.h>#include "btree.h"int main(){ BTNode *b,*p,*lp,*rp;; printf(" (1)创建二叉树:"); CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))"); printf("\n"); printf(" (2)输出二叉树:"); DispBTNode(b); printf("\n"); printf(" (3)查找H节点:"); p=FindNode(b,'H'); if (p!=NULL) { lp=LchildNode(p); if (lp!=NULL) printf("左孩子为%c ",lp->data); else printf("无左孩子 "); rp=RchildNode(p); if (rp!=NULL) printf("右孩子为%c",rp->data); else printf("无右孩子 "); } else printf(" 未找到!"); printf("\n"); printf(" (4)二叉树b的深度:%d\n",BTNodeDepth(b)); printf(" (5)释放二叉树b\n"); DestroyBTNode(b); return 0;}
头文件btree.h
<pre name="code" class="cpp">#ifndef BTREE_H_INCLUDED#define BTREE_H_INCLUDED#define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; //数据元素 struct node *lchild; //指向左孩子 struct node *rchild; //指向右孩子} BTNode;void CreateBTNode(BTNode *&b,char *str); //由str串创建二叉链BTNode *FindNode(BTNode *b,ElemType x); //返回data域为x的节点指针BTNode *LchildNode(BTNode *p); //返回*p节点的左孩子节点指针BTNode *RchildNode(BTNode *p); //返回*p节点的右孩子节点指针int BTNodeDepth(BTNode *b); //求二叉树b的深度void DispBTNode(BTNode *b); //以括号表示法输出二叉树void DestroyBTNode(BTNode *&b); //销毁二叉树#endif // BTREE_H_INCLUDED源文件btree.cpp
<pre name="code" class="cpp">/*Copyright (c) 2015,烟台大学计算机学院 *All right reserved *文件名称:main.cpp *作者:姜延锴 *完成日期:2016年11月10 *版本号:v1.0 * *问题描述:定义二叉树的链式存储结构,实现其基本运算,并完成测试。*/ #include <stdio.h>#include "btree.h"int main(){ BTNode *b,*p,*lp,*rp;; printf(" (1)创建二叉树:"); CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))"); printf("\n"); printf(" (2)输出二叉树:"); DispBTNode(b); printf("\n"); printf(" (3)查找H节点:"); p=FindNode(b,'H'); if (p!=NULL) { lp=LchildNode(p); if (lp!=NULL) printf("左孩子为%c ",lp->data); else printf("无左孩子 "); rp=RchildNode(p); if (rp!=NULL) printf("右孩子为%c",rp->data); else printf("无右孩子 "); } else printf(" 未找到!"); printf("\n"); printf(" (4)二叉树b的深度:%d\n",BTNodeDepth(b)); printf(" (5)释放二叉树b\n"); DestroyBTNode(b); return 0;}
0 0
- 第十周--项目一--二叉树算法
- 第十周项目一——二叉树算法库
- 第十周项目一~~二叉树算法库
- 第十周 项目一 二叉树算法库
- 第十周 项目一-二叉树算法库
- 第十周项目一 二叉树算法库
- 第十周 项目一-建立二叉树算法库
- 第十周实践项目一--二叉树算法库
- 第十周项目一-建立二叉树算法库
- 第十周项目一:二叉树算法库
- 第十周 项目一 二叉树算法库
- 第十周 项目一 -二叉树算法库
- 第十周项目一--二叉树算法库
- 第十周【项目一-二叉树算法库】
- 第十周-项目一 二叉树算法库
- 第十周项目一二叉树算法库
- 第十周项目一 二叉树算法库
- 第十周--项目一--建立二叉树算法库
- 171. Excel Sheet Column Number (Easy)
- 转载一篇关于makefile的文章
- 第十一周-项目一 验证算法(4)哈弗曼编码的算法验证
- 【vijos】【位运算】Miku_Nobody
- 第11周项目1-验证算法(3)中序线索化二叉树的算法验证
- 第十周项目一二叉树算法库
- ExecutorService中submit和execute的区别
- Linux内核--网络内核实现分析
- PIC单片机入门_定时器/计数器TMR1详解与实例
- Android动态库注入技术
- Mac 环境下 Android studio更新后出现 svn:E155036
- Solo 博客系统 1.7.0 发布 - 新版 MD 编辑器
- 第十一周项目1-二叉树算法验证(4) 哈夫曼编码的算法验证
- SQL之case when then用法