C++完全二叉树的权值
2019-11-17 16:00:38来源:博客园 阅读 ()
C++完全二叉树的权值
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> int main(void) { int n; printf("请输入需要输入的整数的数量:"); scanf("%d", &n); // 确定深度 int count = 0, deep = 0; while(count < n) { deep++; count += pow(2.0, (deep - 1)); } // 创建数组 int **tree; tree = (int **)malloc((deep + 1) * sizeof(int *)); for (int i = 0; i < deep + 1; i++) { tree[i] = (int *)malloc((deep + 1) * sizeof(int)); memset(tree[i], 0, (deep + 1) * sizeof(int)); } // 将输入的值让完全二叉树的规则输入数组 count = 0; for(int temp_deep = 1; temp_deep <= deep; temp_deep++) { for(int i = 1; i <= pow(2.0, temp_deep - 1); i++) { scanf("%d", &tree[temp_deep][i]); count++; if(count >= n) break; // 当所有元素写入之后推出输入循环 } } // 比较同一深度的节点权值之和 int max_deep = 0, max_sum = 0; for(int temp_deep = 1; temp_deep <= deep; temp_deep++) { int sum = 0; for(int i = 1; i <= pow(2.0, temp_deep - 1); i++) { sum += tree[temp_deep][i]; } if(sum > max_sum) { max_sum = sum; max_deep = temp_deep; } } printf("深度为 %d 的节点权值之和最大\n", max_deep); printf("\n"); system("pause"); }
原文链接:https://www.cnblogs.com/lzn-2018/p/11878977.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 转换函数搭配友元函数 2020-06-10
- C++ 自动转换和强制类型转换(用户自定义类类型) 2020-06-10
- C++ rand函数 2020-06-10
- C++ 友元函数 2020-06-10
- C++ 运算符重载 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash