当前位置:网站首页>折半查找法

折半查找法

2022-06-23 03:32:00 @风景邮递Yuan

折半查找

折半查找依赖的是顺序表结构,简单点说就是数组。

• 二分查找针对的是有序数据。

• 数据量太小不适合二分查找。

• 数据量太大也不适合二分查找。

/* 折 半 查 找 */
 int Binary_Search (int *a, int n, int key ){
 int low , high , mid ;
 /* 定 义 最 低 下 标 为 记 录 首 位 */
 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
     /* 若 相 等 则 说 明 mid 即 为 查 找 到 的 位 置 */
     return mid ;
 }
 return 0;
 }

原网站

版权声明
本文为[@风景邮递Yuan]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_50942093/article/details/125411246