博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7)查找[2]二叉排序树以及查找
阅读量:6311 次
发布时间:2019-06-22

本文共 1488 字,大约阅读时间需要 4 分钟。

1 #include "iostream" 2 #include "iomanip" 3 #include "time.h" 4 using namespace std; 5  6 #define num 13 7  8 struct Bnode{ 9     int data;10     Bnode *lchild;11     Bnode *rchild;12 };13 14 /*15 *将指针S所指的结点插入到二叉排序树T中16 */17 void insert(Bnode * &Tree,Bnode *S)18 {19     if(Tree==NULL)//插入到空树时,插入结点为根结点20     {21         Tree = S;22     }else if(S->data
data){ 23 insert(Tree->lchild,S);//插入到Tree的左子树中24 }else {25 insert(Tree->rchild,S);//插入到Tree的右子树中26 }27 }28 29 /*30 *二叉排序树的构造31 */32 void create_bst(int A[],int n,Bnode *&Tree)33 {34 int i=0;35 Tree = NULL;36 while(i
data = A[i];40 u->lchild = NULL;41 u->rchild = NULL;42 insert(Tree,u);43 i++;44 }45 }46 47 /*48 *二叉排序树的查找49 */50 Bnode *bst_search(Bnode *T,int x)51 {52 if((T==NULL)||(T->data = x))53 {54 cout<<"Address:"<
<<",data:"<
data <
data){58 return bst_search(T->lchild,x);59 }else return bst_search(T->rchild,x);60 }61 62 /*63 *中序输出64 */65 void inorder(Bnode *Tree)66 {67 if(Tree!=NULL)68 {69 inorder(Tree->lchild);70 cout<
<
data<<" ";71 inorder(Tree->rchild);72 }73 }74 75 int main()76 {77 Bnode *Tree =new Bnode;78 time_t start ,end;79 int A[]={ 100,60,40,80,70,90,150,120,180,110,130,160,200};80 cout<<"initialize Array:"<

转载于:https://www.cnblogs.com/minmsy/p/5020614.html

你可能感兴趣的文章
node mysql模块写入中文字符时的乱码问题
查看>>
仍需"敬请期待"的微信沃卡
查看>>
分析Ajax爬取今日头条街拍美图
查看>>
内存分布简视图
查看>>
POJ 2918 求解数独
查看>>
如何学习虚拟现实技术vr? vr初级入门教程开始
查看>>
第4 章序列的应用
查看>>
Mysql explain
查看>>
初识闭包
查看>>
java tcp socket实例
查看>>
011 指针的算术运算
查看>>
hdu1874畅通工程续
查看>>
rails 字符串 转化为 html
查看>>
java-学习8
查看>>
AOP动态代理
查看>>
Oracle序列
查看>>
xcodebuild命令行编译错误问题解决
查看>>
Yii2.0 下的 load() 方法的使用
查看>>
华为畅玩5 (CUN-AL00) 刷入第三方twrp Recovery 及 root
查看>>
LeetCode----67. Add Binary(java)
查看>>