有关二叉排序树的代码实现
来源:互联网 发布:mysql create db 编辑:程序博客网 时间:2024/06/06 04:37
参考文章一
参考文章二
#include<iostream>#include<math.h>#include<stdio.h>#include<string.h>using namespace std;struct biTree{int data;biTree *left;biTree *right;};//插入数据biTree* insertEle(biTree *t, int key){if (t == NULL){t = new biTree();t->data = key;t->left = NULL;t->right = NULL;return t;}if(t->data > key){t->left = insertEle(t->left, key);}else{t->right = insertEle(t->right, key);}return t;}//将二叉树从小到大打印出来void showMinToMax(biTree *t){if(t == NULL) return;showMinToMax(t->left);cout << t->data << endl;showMinToMax(t->right);}//findElementbiTree* findEle(biTree *t, int target){if(t == NULL){return NULL;}if(t->data == target){return (biTree*)t;}if(t->data < target){return findEle(t->right, target);}else{return findEle(t->left, target);}}// count all nodeint countNode(biTree *t){ if(t == NULL) return 0; return 1 + countNode(t->left) + countNode(t->right);}// tree heightint treeHeight(biTree *t){if(t == NULL){return 0;}int leftH = treeHeight(t->left);int rightH = treeHeight(t->right);return leftH >= rightH ? leftH+1 : rightH+1;}int main(){biTree *root = NULL, *temp; int num[10] = {1, 3, 5, 2, 4};//插入数据测试for(int i = 0 ;i < 5; i++){root = insertEle(root, num[i]);}//从小到大排列测试showMinToMax(root);//查找元素测试temp = findEle(root, 5);if(temp == NULL){cout << "do not find" <<endl;}else{cout << temp->data << endl;}temp = findEle(root, 7);if(temp == NULL){cout << "do not find" <<endl;}else{cout << temp->data << endl;}cout << countNode(root) << endl;cout << treeHeight(root) << endl;return 0;}
阅读全文
0 0
- 有关二叉排序树的代码实现
- 二叉排序树的C++实现代码
- 二叉排序树代码实现
- java代码实现二叉排序树
- 二叉排序树java代码实现
- 二叉排序树的C代码
- 二叉排序树概念及代码实现
- 二叉排序树的构造,插入,删除,完整c代码实现
- 二叉排序树的实现
- 二叉排序树的简单实现
- 二叉排序树的实现
- 二叉排序树的实现
- 二叉排序树的实现
- 二叉排序树的实现
- 二叉排序树的简单实现
- 简单实现的二叉排序树
- 二叉排序树的简单实现
- 二叉排序树的实现
- 中控考勤机web3.0登录账号密码
- 【Windows管理工具】-WMIC
- Swift 中 判断101-200之间有多少个素数,并输出所有素数
- 初识Spring Boot框架
- 程序设计C 实验二 题目一 计算员工周工资(0077)
- 有关二叉排序树的代码实现
- PulltorefreshListview
- 给定正整数N和集合K,求不大于N的,且每一位数字都在K中的最大值M,比如N=297,K={2,5,8},则返回288
- Tomcat集群浅析
- 高数 01.07无穷小的比较
- HTML的零星笔记
- 查看1、2、3、4四个数字,能组成多少个互不相同 且无重复数字的三位数?都是多少?
- 飞机开关门状态自动识别
- Sift算子特征点提取、描述及匹配全流程解析