数据结构-二叉搜索树插入算法
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;