目录
- //16二叉排序树(BST)的查找
- typedef struct BiTreeNode{
- int data;
- struct BiTreeNode *lchild,*rchild;
- }BiTreeNode,*BiTree;
- //①非递归查找
- BiTree BSTSearch(BiTree T,int key){
- while(T != NULL && key != T -> data){
- if(key < T -> data)
- T = T -> lchild;
- else
- T = T -> rchild;
- }
- return T;
- }
- //②递归查找
- BiTree BSTSearch(BiTree T,int key){
- if(T == NULL )//出口1
- return NULL;
- if(T -> data == key)//出口2
- return T;
- else if(key < T -> data)
- return BSTSearch(T -> lchild,key);
- else
- return BSTSearch(T -> rchild,key);
- }