首页 > 编程语言 > 详细

算法与数据结构之折半查找(C语言)

时间:2015-09-13 00:53:38      阅读:218      评论:0      收藏:0      [点我收藏+]
 1 #include <stdio.h>
 2 #include<stdlib.h>
 3 
 4 int binsearch(int x,int v[],int n);//函数声明
 5 
 6 int main()
 7 {
 8     int arr[]={1,2,3,4,5,6,7,8,9,10};
 9     int 结果,num;
10     num=7;
11     结果=binsearch(num,arr,10);
12     
13     if(结果<0)
14         printf("没找到!\n");
15     else
16         printf("在arr[%d]找到%d\n",结果,num);
17         system("pause");
18 
19     return 0;
20 }
21 
22 int binsearch(int x,int v[],int n)//函数定义
23 {
24     int low,high,mid;//最小,最大,中间
25 
26     low=0;
27     high=n-1;
28 
29     while(low<=high){//不停折半
30     
31     mid=(low+high)/2;
32     if(x<v[mid]) //如果要找的数比中间的小
33         high=mid-1;//扔掉一半
34     else if(x>v[mid])//如果比中间的大
35         low=mid+1;//扔掉另一半
36     else
37         return mid;//找到
38     
39     
40     }
41 
42     return -1;//没找到
43 }

 

算法与数据结构之折半查找(C语言)

原文:http://www.cnblogs.com/haciont/p/4803927.html

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