码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构--查找

时间:2017-06-25 16:55:59      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:ext   数据   log   结构   bsp   []   search   key   logs   

专题--查找

1. 二分查找

 1 /*二分查找*/
 2 int Binary_Search(int a[],int n,int key)
 3 {
 4     int lo=0;
 5     int hi=n;
 6     //版本A
 7     while(lo<hi)
 8     {
 9         int mid=(lo+hi)>>1;
10         if(a[mid]<key)
11             lo=mid+1;
12         else if(key<a[mid])
13             hi=mid;
14         else
15             return mid;
16     }
17 
18     /*
19     //版本B:若多个命中元素,总能保证返回秩最大者;查找失败时,能够返回失败的位置
20     while(lo<hi)
21     {
22         int mid=(lo+hi)>>1;
23         key<a[mid] ?hi=mid:lo=mid+1;
24     }
25     return --lo;
26     */
27     return -1;
28 }
29 
30 int main()
31 {
32     int a[]={0,2,4,6,8,1,3,5,7,9};
33     int index=Binary_Search(a,10,5);  
34     cout<<index<<endl;                   //7
35     return 0;
36 }

 

数据结构--查找

标签:ext   数据   log   结构   bsp   []   search   key   logs   

原文地址:http://www.cnblogs.com/cygalaxy/p/7077082.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!