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

微网站免费开发平台邢台网站

微网站免费开发平台,邢台网站,网站一直百度上搜不到是怎么回事,网站开发的课程目录 前言 查找值为x的结点 返回值为指针 返回值为布尔类型 整体代码 前言 在二叉树结点个数、叶子结点个数、树的高度、第k层结点个数的计算#xff08;C语言#xff09;中#xff0c;我们解决了关于二叉树的部分问题#xff0c;但是还有一个问题我们放在本篇解决。 …目录 前言 查找值为x的结点 返回值为指针 返回值为布尔类型 整体代码 前言 在二叉树结点个数、叶子结点个数、树的高度、第k层结点个数的计算C语言中我们解决了关于二叉树的部分问题但是还有一个问题我们放在本篇解决。 查找值为x的结点 返回值为指针 //查找值为x的结点 TreeNode* TreeFind(TreeNode* root, BTDataType x) {if (root NULL)return NULL;if (root-data x)return root;TreeNode* ret1 TreeFind(root-left, x);if (ret1)return ret1;TreeNode* ret2 TreeFind(root-right, x);if (ret2)return ret2;return NULL; } 解释整体过程不再进行文字解释建议自己画图加深对代码的理解 注意对返回值NULL的处理和理解 返回值为布尔类型 //查找值为x的结点,返回值为布尔类型 bool TreeFind(TreeNode* root, BTDataType x) {if (root NULL)return NULL;if (root-data x)return root;return TreeFind(root-left, x) || TreeFind(root-right, x); } 解释整体过程不再进行文字解释建议自己画图加深对代码的理解 整体代码 #include stdio.h #include assert.h #include stdlib.h #include stdbool.h typedef int BTDataType;typedef struct BinaryTreeNode {BTDataType data;struct BinaryTreeNode* left;struct BinaryTreeNode* right; }TreeNode;TreeNode* BuyTreeNode(int x) {TreeNode* node (TreeNode*)malloc(sizeof(TreeNode));assert(node);node-data x;node-left NULL;node-right NULL;return node; }TreeNode* CreatTree() {TreeNode* node1 BuyTreeNode(1);TreeNode* node2 BuyTreeNode(2);TreeNode* node3 BuyTreeNode(3);TreeNode* node4 BuyTreeNode(4);TreeNode* node5 BuyTreeNode(5);TreeNode* node6 BuyTreeNode(6);node1-left node2;node1-right node4;node2-left node3;//node2-right NULL;//node3-left NULL;//node3-right NULL;node4-left node5;node4-right node6;//node5-left NULL;//node5-right NULL;//node6-left NULL;//node6-right NULL;return node1; }void PrevOrder(TreeNode* root) {if(root NULL){printf(N );return;}printf(%d , root-data);PrevOrder(root-left);PrevOrder(root-right); }void InOrder(TreeNode* root) {if (root NULL){printf(N );return;}InOrder(root-left);printf(%d , root-data);InOrder(root-right); }void LaterOrder(TreeNode* root) {if (root NULL){printf(N );return;}LaterOrder(root-left);LaterOrder(root-right);printf(%d , root-data); }//总结点个数 int TreeSize(TreeNode* root) {return root NULL ? 0 :TreeSize(root-left) TreeSize(root-right) 1; }//叶子结点个数 int TreeLeafSize(TreeNode* root) {//空树 返回0if (root NULL)return 0;//非空树但是没有左右子树叶子结点/仅有一个结点的树返回1if (root-left NULL root-right NULL)return 1;//不是空 也不是叶子结点return TreeLeafSize(root-left) TreeLeafSize(root-right); }//树的高度 int TreeHeight(TreeNode* root) {if (root NULL)return 0;int leftHeight TreeHeight(root-left);int rightHeight TreeHeight(root-right);return leftHeight rightHeight ? leftHeight 1 : rightHeight 1; }//第k层结点的个数 int TreeLevelK(TreeNode* root,int k) {assert(k 0);if (root NULL)return 0;if (k 1)return 1;return TreeLevelK(root-left, k - 1) TreeLevelK(root-right,k-1); }//查找值为x的结点,返回值为指针 TreeNode* TreeFind(TreeNode* root, BTDataType x) {if (root NULL)return NULL;if (root-data x)return root;TreeNode* ret1 TreeFind(root-left, x);if (ret1)return ret1;TreeNode* ret2 TreeFind(root-right, x);if (ret2)return ret2;return NULL; }查找值为x的结点,返回值为布尔类型 //bool TreeFind(TreeNode* root, BTDataType x) //{ // if (root NULL) // return NULL; // if (root-data x) // return root; // // return TreeFind(root-left, x) || TreeFind(root-right, x); //}int main() {TreeNode* root CreatTree();//前、中、后序遍历PrevOrder(root);printf(\n);InOrder(root);printf(\n);LaterOrder(root);printf(\n);//获取二叉树中的结点个数 printf(TreeSize%d\n, TreeSize(root));//叶子结点个数printf(TreeLeafSize%d\n,TreeLeafSize(root));//树的高度printf(TreeHeight%d\n, TreeHeight(root));//第k层结点个数int k 2;printf(TreeLevelK % d\n, TreeLevelK(root,k));//查找值为x的结点int x 2;printf(TreeLevelK % d\n, TreeLevelK(root, x));//查找值为x的结点if (TreeFind(root, 5))printf(找到了\n);elseprintf(没找到\n);return 0; } ~over~
http://www.pierceye.com/news/542712/

相关文章:

  • 西安优秀高端网站建设服务商国外网站阻止国内访问怎么做
  • 招生型网站建设不用js做网站
  • 网站正能量视频不懂我意思吧wordpress readme
  • 石家庄网站seo优化站长工具ip地址
  • 网站运行速度慢一个网站做三页是什么意思
  • wordpress视频网站企炬网站
  • 做数据收集网站租一个服务器多少钱
  • 苏州网站制作推广网站改版 删除栏目
  • 电子商务网站开发需求文档怎样建自己的网站
  • 通过关键词优化提升企业网站个人 可以做网站备案吗
  • 山西百度公司做网站的网站监控的软件怎么做
  • 如何做一份企业网站网站调用微博
  • 电子商务网站的设计工具wordpress中文用户名
  • 网站免费下载软件软件著作权申请多少钱一个
  • 东莞网站视频网站建设和管理规则
  • 内网网站建设方案wordpress 开发主题
  • 咸阳网站建设联系电话星悦做任务网站是
  • 家居网站建设的背景及意义免费域名注册官网
  • 桂林网站制作多少钱排名优化seo
  • 将网站保存怎么做wordpress 后台菜单
  • 2.0网站线上建设什么意思做外贸网站哪家的好
  • 网站域名可以更改吗安装wordpress插件目录下
  • 海南省澄迈住房和城乡建设厅网站ui设计师创意平台
  • 青岛网站设计公司排名wordpress 下载主题
  • 外包做网站不满意中级经济师考试成绩查询
  • 苏州企业网站建站系统网页制作基础步骤
  • 新河网站规划电子商务网站流程
  • 免费网站建设免代码杭州建设工程交易平台
  • 网页网站导读怎么做百度问答兼职怎么做
  • wordpress建站环境报喜鸟集团有限公司网页制作