high時(shí),返回查找失敗信息。 (3)取中點(diǎn),lowa[mid],查找改在右半?yún)^(qū)進(jìn)行,low=mid+1;轉(zhuǎn)向步驟(2)。 c.若ax=a[mid],查找成功,返回?cái)?shù)據(jù)位置。 代碼實(shí)現(xiàn): #include int b_sea...">

重囗另类BBWSeⅹHD,av狼论坛,精品一卡2卡三卡4卡乱码理论,体育生gv老师浪小辉3p警察

折半查找算法的實(shí)現(xiàn) -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.ipr-jzsc.com - 電腦資料】

    算法設(shè)計(jì)思想如下:

    (1)設(shè)置初始區(qū)間,low=1;high=length,

折半查找算法的實(shí)現(xiàn)

。

    (2)當(dāng)low>high時(shí),返回查找失敗信息。

    (3)取中點(diǎn),low<=high,mid=(low+high)/2。

    a.若kx

    b.若kx>a[mid],查找改在右半?yún)^(qū)進(jìn)行,low=mid+1;轉(zhuǎn)向步驟(2)。

    c.若ax=a[mid],查找成功,返回?cái)?shù)據(jù)位置。

    代碼實(shí)現(xiàn):

   

#include <stdio.h>int b_search(int x, int a[], int n)  //折半查找函數(shù){    int low = 0;    int high = n ;    if (low > high)    {        return -1;    }    else    {        while (low <= high)        {            int mid = (low + high) / 2;            if (a[mid] < x)            {                low = mid + 1;            }            else if (a[mid] > x)            {                high = mid - 1;            }            else            {                return mid;            }        }    }         return -1;}int main(){    int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };    int key = 0;    int sz = sizeof(arr) / sizeof(arr[0]);    scanf("%d", &key);        int ret = b_search(key, arr, sz);    if (ret == -1)    {        printf("不存在這個(gè)數(shù)!\n");    }    else    {        printf("%d\n", ret);    }    return 0;}

最新文章
主站蜘蛛池模板: 温泉县| 濮阳市| 白山市| 长岭县| 昆山市| 高雄市| 涪陵区| 克什克腾旗| 崇仁县| 遵义市| 乳源| 鄂托克旗| 西峡县| 湘乡市| 吉隆县| 和平区| 凌海市| 浦江县| 霍林郭勒市| 蓬安县| 攀枝花市| 新闻| 桐梓县| 海口市| 名山县| 大邑县| 安多县| 比如县| 双牌县| 涪陵区| 古田县| 阿拉善盟| 泽州县| 遵化市| 台南市| 阳朔县| 綦江县| 紫金县| 宁强县| 南部县| 锦州市|