当前位置: 首页 > news >正文

威海电子商务网站建设html友情链接

威海电子商务网站建设,html友情链接,凯里网站建设,web网站开发毕业论文1、定义二叉树结点结构 2、编写主程序 3、三种方法遍历二叉树&#xff0c;并实现求树的深度&#xff0c;叶子数&#xff0c;某一层的结点数 4、实现代码&#xff08;带交互界面&#xff09; #include<iostream> using namespace std; typedef struct BiTNode {char d…

1、定义二叉树结点结构

2、编写主程序

3、三种方法遍历二叉树,并实现求树的深度,叶子数,某一层的结点数

4、实现代码(带交互界面)

#include<iostream>
using namespace std;
typedef struct BiTNode
{char data;struct BiTNode* lchild, * rchild;
}BiTNode, * BitTree;BitTree creatTree()
{BitTree T = NULL;char ch;cin >> ch;if (ch == '#'){T = NULL;return T;}else{T = new BiTNode;if (T == NULL)return NULL;T->data = ch;T->lchild = NULL;T->rchild = NULL;T->lchild = creatTree();T->rchild = creatTree();return T;}
}
void Zhongxu(BitTree T)
{if (T){Zhongxu(T->lchild);cout << T->data;Zhongxu(T->rchild);}
}
void Xianxu(BitTree T)
{if (T){cout << T->data;Xianxu(T->lchild);Xianxu(T->rchild);}
}
void Houxu(BitTree T)
{if (T){Houxu(T->lchild);Houxu(T->rchild);cout << T->data;}
}
void printmenu()
{cout << "欢迎使用二叉树遍历及相关应用工具\n";cout << "请输入功能选项(1-3):\n";cout << "\t1.创建二叉树\n";cout << "\t2.遍历二叉树\n";cout << "\t3.打印二叉树深度\n";cout << "\t4.打印二叉树叶子个数\n";cout << "\t5.打印二叉树第n层结点个数\n";cout << "\t0.退出\n";
}
int TreeDepth(BitTree T)
{if (T == NULL)return 0;elsereturn (TreeDepth(T->lchild) > TreeDepth(T->rchild) ? TreeDepth(T->lchild) : TreeDepth(T->rchild)) + 1;   //选择左孩子和右孩子中较大的深度,然后加上一个根结点
}
int LeafCount(BitTree T)
{if (T == NULL)return 0;else{if (T->lchild == NULL && T->rchild == NULL)   //如果递归到叶子,计数+1return 1;elsereturn LeafCount(T->lchild) + LeafCount(T->rchild);   //递归到叶子}
}
int NodeCount(BitTree T,int n)
{if (T == NULL)return 0;if (n == 1)  //如果到第n层,返回1return 1;return NodeCount(T->lchild, n - 1) + NodeCount(T->rchild, n - 1); //递归到第n层}int main()
{BitTree T = NULL;int choose;int method;choose = -1;while (choose != 0) {printmenu();cin >> choose;switch (choose) {case 1:cout << "创建你的二叉树吧,用#表示空指针:\n";T = creatTree();cout << "二叉树创建成功\n";break;case 2: {method = -1;while (method != 0){cout << "\t1.先序遍历\n";cout << "\t2.中序遍历\n";cout << "\t3.后序遍历\n";cout << "\t0.返回上一级\n";cout << "请输入功能选项(0-3)";cin >> method;switch (method){case 1:Xianxu(T); break;case 2:Zhongxu(T); break;case 3:Houxu(T); break;case 0:method = 0; break;}}printmenu();break;}case 3:cout << "该二叉树的深度是:" << TreeDepth(T)<<"\n"; break;case 4:cout << "该二叉树的叶子数是:" << LeafCount(T)<<"\n"; break;case 5:int n;cout << "请输入你要查询的层数:";cin >> n;cout << "该层共有" << NodeCount(T, n) << "个结点\n";break;case 0:cout << "感谢使用,欢迎多提宝贵意见!\n" << endl;return 0;}}}

http://www.mnyf.cn/news/37603.html

相关文章:

  • 响应式网站素材网络推广的方式和途径有哪些
  • 北京设计装修公司排名百度seo排名优化公司推荐
  • 丝绸之路网站建设意义seo外链招聘
  • 唐山专业网站建设公司关键词首页排名代做
  • 南京电商网站建设网络营销策划的内容
  • 莱芜做网站公司如何制作自己的网站教程
  • 企业网站制作公司推荐宁波免费seo在线优化
  • 前几年做啥网站致富百度网址大全官方下载
  • 微网站建设报价方案模板下载网站seo置顶
  • 网站诊断从哪里开始东莞网站推广宣传
  • 石家庄网站建设时光seo网站关键词优化工具
  • 团队如何分工做网站优化公司怎么优化网站的
  • 重庆做网站建设哪家好seo基础培训机构
  • 大连做网站公司排行榜无锡网站服务公司
  • 济南专业做网站公司什么软件可以发帖子做推广
  • cms网站怎么做seo网站优化方
  • 郴州网站制作公司招聘如何刷app推广次数
  • 都有什么类别的网站如何快速推广app
  • 做一下网站收购废钢合肥seo报价
  • 响应式网站模仿学seo哪个培训好
  • 东莞做网站it s软文推广是什么
  • 只做鞋子的网站自己的网站怎么做seo
  • 中牟网站建设网络营销ppt
  • 做淘宝网站最有效的网络推广方式
  • 安徽定制型网站建设推广郑州抖音seo
  • 网站开发用不用写交互网站seo优化包括哪些方面
  • 佛山网站建设在哪广州seo外包多少钱
  • asp.net 跳转别的网站百度推广开户联系方式
  • 做考勤的网站大一html网页制作作业简单
  • 山西网站建设企业seo手机关键词网址