二叉排序树的构建
来源:互联网 发布:20岁长高的秘诀 知乎 编辑:程序博客网 时间:2024/06/06 17:42
下面是二叉排序树构建的代码,按照严蔚敏数据结构教材上的方法写的:
#include<iostream>using namespace std;struct BiTreeNode{int data;BiTreeNode *lchild;BiTreeNode *rchild;};BiTreeNode* p;//BiTree* SearchBST(BiTree* T, int key)//{//if ((!T)||T->data==key)return T;//else if (key < T->data)return SearchBST(T->lchild, key);//else return SearchBST(T->lchild, key);//}bool SearchBST(BiTreeNode* T, int key, BiTreeNode* f, BiTreeNode*& p){if (!T){p = f; return false;}else if ( key == T->data ){ p = T; return true; }else if ( key < T->data )return SearchBST(T->lchild, key, T, p);else return SearchBST(T->rchild, key, T, p);}bool InsertBST(BiTreeNode*& T, int key){if (!SearchBST(T, key, NULL, p)){BiTreeNode* Node = new BiTreeNode();Node->data = key;Node->lchild = Node->rchild = NULL;if (!p)T = Node; else if (key < p->data) p->lchild = Node;else p->rchild = Node; return true;} else return false;}void main(){int arr[] = { 45, 12, 53, 3, 37, 100, 24, 61, 90, 78 };BiTreeNode* head = NULL;for (int i = 0; i < sizeof(arr) / sizeof(int); ++i)InsertBST(head, arr[i]);}
0 0
- 二叉排序树的构建
- 二叉排序树的构建及验证
- 二叉排序树的构建、插入、删除以及二叉树的打印
- 简单二叉排序树/二叉查找树的构建插入删除操作
- 构建二叉排序树(非递归)
- 1115. Counting Nodes in a BST (构建二叉排序树,输出最后两层的节点数)
- codeforces 675D 模拟构建二叉排序树
- 二叉排序树与平衡二叉排序树的转化
- 二叉排序树上的查找
- 二叉排序树的实现
- 二叉排序树的查找
- 二叉排序树的删除
- 二叉排序树的建立-java
- 二叉排序树的应用
- 二叉排序树的C代码
- 二叉排序树的创建
- 二叉排序树的简单实现
- 二叉排序树的创建
- Go的MongoDB包
- Swift(九、枚举)
- 使用Android+smack4.1.4+openfire进行IM开发
- 也谈BIO | NIO | AIO (Java版--转)
- 【Java】【系统状态】获取系统信息(包括操作系统、jvm、cpu、内存、硬盘、网络、io等)
- 二叉排序树的构建
- STL 之 函数对象(函数符)
- a链接刷新页面与js刷新页面用法示例介绍
- pageEncoding,contentType,response/request.setCharacterEncoding
- display:inline、block、inline-block的区别
- UISegmentedControll,UISlider,UISwitch,UIStepper
- JVM内存结构
- 怎样使数据变为空
- 开源性能测试工具 - Apache ab 介绍