二分查找

int Binary_search(int* a,int n,int key)

{

      int low,mid,high;

      low = 1;

      high = n;

      while(low<=high)

     {

            mid = (low+high)/2;

            if(key<a[mid])

               high = mid-1;

            else if(key>a[mid])

                low = mid+1;

            else

                return mid;

     }

     return 0;
}


 

Status searchBST(BiTree T,int key,BiTree f,BiTree* p)
{
    if(!T)//查找不成功
    {
         *p = f;
         return FALSE;
    }
    else if(key==T->data)//查找成功
    {
          *p =T;
          return TRUE;
    }
    else if(key < T->data)
    {
           return searchBST(T->left,key,T,p);
    }
    else 
         return searchBST(T->right,key,T,p);
}


 

阅读更多
上一篇基础数据结构
想对作者说点什么? 我来说一句

VB 二分查找

2010年06月07日 39KB 下载

没有更多推荐了,返回首页

关闭
关闭