首页 > 其他 > 详细

折半查找

时间:2021-08-06 10:34:55      阅读:21      评论:0      收藏:0      [点我收藏+]
 1 #include<stdio.h>
 2 #define N 15
 3 int Search_array(int array[],int n,int value)
 4 {
 5     int low=0;
 6     int high=n-1;
 7     int mid;
 8     while(low<=high)
 9     {
10         mid=(low+high)/2;
11         printf("左值,右值,中间值[%d,%d,%d]\n",low,high,mid);
12         if(value==array[mid])
13         {
14             return mid;
15         }
16         else if(value<array[mid])
17         {
18             high=mid-1;
19         }
20         else
21         {
22             low=mid+1;
23         }
24     }
25     return -1;
26 }
27 int main()
28 {
29     int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
30     int key;
31     scanf("%d",&key);
32     int i=Search_array(a,N,key);
33     if(i!=-1)
34     {
35         printf("查找成功,%d在数组中的下标为 %d",key,i);
36     }
37     else
38     {
39         printf("查找失败");
40     }
41     return 0;
42 }

 

折半查找

原文:https://www.cnblogs.com/zj4516/p/15107005.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!