构造二叉搜索树C++
来源:互联网 发布:淘宝怎么买彩票 编辑:程序博客网 时间:2024/05/20 22:37
构造一颗二叉搜索树,树的结构如图(a),下面上代码(最后输出是中序遍历输出的)
#include <iostream>using namespace std;typedef struct BSTree{char node_value;struct BSTree *left;struct BSTree *right;} Tree;/*****构造二叉查找树**********************************************/void CreateBSTree(Tree *root, char node_value);Tree *CreateBSTree(char *array_list, int array_length);void Print(Tree *root);int main(){Tree *root = NULL;char list[] = {'6', '5', '7', '2', '5', ' ', '8'};root = CreateBSTree(list, 7);cout << "Cearte BSTree." << endl;Print(root);return 0;}Tree *CreateBSTree(char *array_list, int array_length){if(array_length <= 0){return false;}Tree *root = NULL;root = new BSTree();root->left = NULL;root->right = NULL;root->node_value = array_list[0];for(int i = 1; i < array_length; i++){CreateBSTree(root, array_list[i]);}return root;}void CreateBSTree(Tree *root, char node_value){if (node_value !=' '){if(root == NULL){return ;}if(root->node_value > node_value){if(root->left == NULL){Tree *node = new Tree();node->left = NULL;node->right = NULL;node->node_value = node_value;root->left = node;}else{CreateBSTree(root->left, node_value);}}else{if(root->right == NULL){Tree *node = new Tree();node->left = NULL;node->right = NULL;node->node_value = node_value;root->right = node;}else{CreateBSTree(root->right, node_value);}}}else{Tree *node =NULL;}}void Print(Tree *root){if(root == NULL){return ;}Print(root->left);cout << char(root->node_value) <<endl;Print(root->right);}图(a)和 输出结果图
0 0
- 构造二叉搜索树C++
- Python 构造二叉搜索树
- 二叉搜索树(c++)
- 二叉搜索树的一种构造方法
- hdu3791(二叉搜索树构造)
- C语言二叉搜索树
- 二叉搜索树(C++)
- [C++] 实现二叉搜索树
- c语言构造数组二叉树
- HDOJ-3791(二叉搜索树的构造)
- 二叉搜索树 c 语言实现
- C语言二叉搜索树基本操作
- 二叉搜索树 C语言实现
- C/C++生成二叉树并搜索
- 【C基础】二叉搜索树的实现
- 二叉搜索树(c实现)
- <C/C++数据结构>二叉搜索树
- 二叉搜索树(BST) ----- C语言
- 数字的空洞 水 南邮NOJ 1071
- seaJS
- HDU 1358 Period
- UIViewController的生命周期
- 将DOC文件转化为PDF文件
- 构造二叉搜索树C++
- hdoj 1166 敌兵布阵 (树状数组)
- C语言动态数组
- 字符串最后一个单词的长度
- Bellman-Ford算法
- 注意检查变量的边界
- ListView的Item中带按钮以及按钮布局的显示与隐藏
- 转载收藏java佛祖注释
- 设备旋转的处理方法