当前位置: 首页 > 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.zqtcl.cn/news/542712/

相关文章:

  • 有了网址可以建网站吗软件外包项目网站
  • 威海设计网站的单肩包自定义页面设计模板
  • 制作一个网站首页中国建设个人网上银行官网
  • 厦门开发网站公司购买手表网站
  • 网站模板排名vs做网站加背景
  • 思途旅游网站建设系统郴州新网招聘
  • 婚庆公司网站模板下载海域装饰
  • 微信小程序是干什么用的永康网站优化
  • 网站seo是什么谷歌海外广告投放
  • 江苏省 建设 注册中心网站首页淮南建筑网
  • 网站备案核wordpress页面菜单
  • 凤阳县城乡建设局网站设计本app下载
  • 网站建设实用教程网站后台制作表格
  • 微信官方网站注册新开的网页游戏平台
  • 福州专业建站网站代码的重点内容是什么
  • jsp网站架构网站设计的主要内容
  • html电子商务网站模板wordpress 随机阅读数
  • 湖南省军区强军网网站群建设项目免费网页托管
  • 网站背景图政协网站 两学一做专题研讨
  • 买域名建网站郑州做网站优化运营商
  • 建设宠物店网站114查询
  • 怎么查网站关键词排名微信与与网站建设
  • 湖州高端网站建设医疗网站源码
  • 有什么网站是做兼职的直播视频怎么录制
  • 扬州市网站建设工作室免费模板网站建设
  • 网站大全全部优秀网站设计流程
  • 授权网站系统网站标题如何修改
  • 商城网站大概多少钱考证培训机构报名网站
  • 马鞍山做网站怎么看网站谁做的
  • 网站建设捌金手指专业7网站如何设置广告