平衡二叉树_AVLTree

来源:互联网 发布:淘宝神笔提示保存成功 编辑:程序博客网 时间:2024/06/08 14:36

DataStruct : 
  平衡二叉树的出现是为了解决类似用序列{1,2,3,4,}来构造二叉排序树而出现的树高过高,树高过高会导致查询的时间变大。最理想的二叉排序树的形态应该是接近平均的,因此得出AVLTree的定义:

左子树与右子树是AVLTree; 
左子树与右子树高度差的绝对值小于等于1;

Insert : 
  AVLTree的插入是精髓,构造树的过程就是插入的过程,而插入元素就会破坏AVLTree的平衡性,这时候就要通过四种旋转来回复它的平衡性。

RR : 
在A结点的右孩子的右孩子插入一个结点,导致A结点不平衡。这个时候通过左旋转来解决:B的左孩子作为A的左孩子,A作为B的左孩子。 
RR

LL : 
看图同理。 
LL

看图同理。 
LR

RL : 
看图同理。 
RL

Code : 
  程序利用序列{1,2,3,4,5,6,7,8,9,10}来构造AVLTree,并用二叉树的前序遍历,中序遍历,层次遍历输出这个AVLTree。

<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">#include</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;"><</span>stdio<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">.</span>h<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">></span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">#include</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;"><</span><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">string</span><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">.</span>h<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">></span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">#include</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;"><</span>iostream<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">></span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">#include</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;"><</span><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">queue</span><span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">></span>using namespace std;typedef struct tagAVLTree {    int i_data;    int i_height;    tagAVLTree <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">*</span>ptr_left;    tagAVLTree <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">*</span>ptr_right;    tagAVLTree() {}    tagAVLTree(int i_data, int i_height,        tagAVLTree <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">*</span>ptr_left, tagAVLTree <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">*</span>ptr_right):        i_data(i_data), i_height(i_height), ptr_left(ptr_left),ptr_right(ptr_right) {}}AVLTree, <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">*</span>pAVLTree;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">inline</span> int Height(pAVLTree node){    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (node <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">==</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NULL</span>)        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_height;}pAVLTree LL(pAVLTree node){    pAVLTree tmp_node <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left;    node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> tmp_node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right;    tmp_node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> node;    node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_height <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">max</span>(Height(node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right), Height(node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left)) <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">+</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;    tmp_node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_height <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">max</span>(Height(tmp_node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left), Height(tmp_node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right)) <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">+</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> tmp_node;}pAVLTree RR(pAVLTree node){    pAVLTree tmp_node <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right;    node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> tmp_node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left;    tmp_node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> node;    node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_height <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">max</span>(Height(node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right), Height(node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left)) <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">+</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;    tmp_node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_height <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">max</span>(Height(tmp_node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left), Height(tmp_node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right)) <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">+</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> tmp_node;}pAVLTree LR(pAVLTree node){    node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> RR(node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left);    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> LL(node);}pAVLTree RL(pAVLTree node){    node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> RR(node<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right);    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> RR(node);}pAVLTree insert(pAVLTree pnode, int <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">data</span>){    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (pnode <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">==</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NULL</span>) {        pnode <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">new</span> AVLTree(<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">data</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NULL</span>, <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NULL</span>);        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> pnode;    }    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">data</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;"><</span> pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_data) {        pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> insert(pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left, <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">data</span>);        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (Height(pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left) <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-</span> Height(pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right) <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">==</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>) {            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">data</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;"><</span> pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_data)                pnode <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> LL(pnode);            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>                pnode <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> LR(pnode);        }    } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">data</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">></span>pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_data) {        pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> insert(pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right, <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">data</span>);        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (Height(pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right) <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-</span> Height(pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left) <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">==</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>) {            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">data</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;"><</span> pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_data)                pnode <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> RL(pnode);            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>                pnode <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> RR(pnode);        }    }    pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_height <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">max</span>(Height(pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left),Height(pnode<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right)) <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">+</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> pnode;}<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">void</span> printTree_PRE(pAVLTree root){    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (root <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">==</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NULL</span>)        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> ;    printf(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"%d %d\n"</span>, root<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_data, root<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_height);    printTree_PRE(root<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left);    printTree_PRE(root<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right);}<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">void</span> printTree_MID(pAVLTree root){    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (root <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">==</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NULL</span>)        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> ;    printTree_PRE(root<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left);    printf(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"%d %d\n"</span>, root<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_data, root<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_height);    printTree_PRE(root<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right);}<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">void</span> printTree_BFS(pAVLTree root){       <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">queue</span><span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;"><</span>pAVLTree<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">></span> que;    que<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">.</span>push(root);    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">!</span>que<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">.</span>empty()) {        pAVLTree pre <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> que<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">.</span>front();        que<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">.</span>pop();        printf(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">" %d"</span>, pre<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>i_data);        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (pre<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">!=</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NULL</span>)            que<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">.</span>push(pre<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_left);        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (pre<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">!=</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NULL</span>)            que<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">.</span>push(pre<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>ptr_right);    }    puts(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">""</span>);}<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">void</span> printTree(pAVLTree root){    puts(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"PRE:"</span>);    printTree_PRE(root);    puts(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"MID:"</span>);    printTree_MID(root);    puts(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"BFS:"</span>);    printTree_BFS(root);}int main(){    pAVLTree root <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NULL</span>;    for (int i <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>; i <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;"><=</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10</span>; i<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">++</span>) {        root <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> insert(root, i);    }    printTree(root);    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;}</code>
0 0
原创粉丝点击