两种查找方式

来源:互联网 发布:重庆快乐十分遗漏数据 编辑:程序博客网 时间:2024/06/05 16:17

折半查找法

方法1:二分查找(递归实现):

void srearch mid(int key){    int mid;    if(top>bot)    {        mid=(top+end)        if(key==a[mid])        {            cout<<mid;             return 0;        }        else if(key<a[mid])     //x小于中间值取前半段        {            search(bot,mid-1);        }        else        {            search(mid+1,top);        }    }    else    {        printf("-1\n");        return;    }}

方法1:二分查找(非递归实现):

void half(int key){    while(top<=bot)    {        mid=(bot-top)/2+top;        if (key==a[mid])        {            printf("%d\n",mid );            return;        }        else if(key<a[mid])        {            bot=mid-1;        }        else        {            top=mid+1;        }    }    printf("-1\n");}
0 0
原创粉丝点击