码迷,mamicode.com
首页 > 编程语言 > 详细

二叉排序树插入C语言版 递归步骤理解

时间:2018-10-05 16:09:53      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:int   turn   二叉排序树   c语言实现   函数   nbsp   形参   span   bsp   

 1 //二叉排序树 插入 (纯C语言实现)
 2 BTNode * BSTInsert2(BTNode *bt,int key){
 3                                                       //为什么纯C语言实现中
 4     if(bt==NULL){                                     //要写成 bt->rchild=BSTInsert2(bt->lchild,key);
 5         bt = (BTNode*)malloc(sizeof(BTNode));         //而不是直接 BSTInsert2(bt->lchild,key);或者是
 6         bt->lchild =bt ->rchild =NULL;                // bt= BSTInsert2(bt->lchild,key);  ???????
 7         bt->data = key;
 8     }else if(bt->data>key)
 9         bt->lchild=BSTInsert2(bt->lchild,key);        //函数中的形参中(BTNode *bt,int key)的BTNode *bt
10     else if(bt->data<key)                             //每次调用都是复制,可以理解为是一个新的树
11         bt->rchild=BSTInsert2(bt->rchild,key);        //没有改变外界的实参bt
12     return bt;
13 }

技术分享图片

 

二叉排序树插入C语言版 递归步骤理解

标签:int   turn   二叉排序树   c语言实现   函数   nbsp   形参   span   bsp   

原文地址:https://www.cnblogs.com/EarlDoss/p/9744827.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!