设为首页 加入收藏

TOP

C++――算法基础之动态查找表2――平衡二叉树(插入)(二)
2016-09-12 19:03:13 】 浏览:499
Tags:算法 基础 动态 查找 平衡 插入
r = true; break; case RH: rightBalance (root); taller = false; break; } } } } return true; } //在平衡二叉树中查找 data 结点, 并返回其地址 int *search (BSTree &root, int data) { if(root == NULL) { return NULL; } if(data == root->data) { return &root->data; } else if(data < root->data) { return search (root->lchild, data); } else { return search (root->rchild, data); } } // 中序遍历平衡二叉树 void inOrder (BSTree &root) { if(root) { inOrder (root->lchild); cout << root->data << "\t"; inOrder (root->rchild); } } //清空平衡二叉树 void clear (BSTree & root) { if(root) { clear (root->lchild); clear (root->rchild); free (root); } } int main () { BSTree root = NULL; int n; bool taller = false; printf ("请插入数据 ,输入0结束插入\n"); while(scanf ("%d", &n)) { if(n == 0) break; else insert (root, n, taller); } inOrder (root); return 0; }
调整平衡():先以20作为调整平衡最高结点 ,进行左旋,再以30作为调整平衡的最高结点,进行右旋。
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++学习笔记(二):指针,引用,.. 下一篇C++学习笔记--函数

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目