首页 → 名言 → 毅力格言
折半查找算法(算法設計題) 折半查找算法的流程圖
日期:2023-03-09 14:47:40    编辑:网络投稿    来源:互联网
折半查找算法的實現 -電腦資料 電腦資料 時間:2019-01-01 我要投稿 【www
为你推荐:
  • 對的時間對的人說說
  • 折半查找算法的實現 -電腦資料 電腦資料 時間:2019-01-01 我要投稿 【www.unjs.com - 電腦資料】

    算法設計思想如下:

    (1)設置初始區間,low=1;high=length,折半查找算法的實現。

    (2)當low>high時,返回查找失敗信息。

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

    a.若kx

    b.若kx>a[mid],查找改在右半區進行,low=mid+1;轉向步驟(2)。

    c.若ax=a[mid],查找成功,返回數據位置。

    代碼實現:

    #include <stdio.h>int b_search(int x, int a[], int n) //折半查找函數{ 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("不存在這個數!\n"); } else { printf("%d\n", ret); } return 0;}

    这里有更多你想看的
  • 24條勵志堅持努力努
    • 本类最新
    • 精品图文
    • 时尚
    • 新闻
    • 生活
    • 视觉
    • 微爱
      栏目ID=88的表不存在(操作类型=0)

    头条推荐

    热门推荐

    特别推荐

    返回顶部