資料結構-二叉搜尋樹插入算法
BinTree Insert(ElementType X, BinTree BST)
{
if ( !BST )
{
/* 若原樹為空,生成并傳回一個節點的二叉搜尋樹 */
BST = (BinTree)malloc(sizeof(struct TreeNode));
BST->Data = X;
BST->Left = BST->Right = NULL;
}
else /* 開始找到插入元素的位置 */
if ( X < BST->Data )
BST->Left = Insert(X, BST->Left);
/* 遞歸插入左子樹 */
else if ( X > BST->Data )
BST->Right = Insert(X, BST->Right);
/* 遞歸插入右子樹 */
/* else X 已經存在,什麼都不做 */
} return BST;