二叉排序樹插入C語言版 遞歸步驟理解
阿新 • • 發佈:2018-10-05
pan 形參 排序樹 tno btn 排序 all png spa
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語言版 遞歸步驟理解