折半查找算法

 

算法分析:数据元素有序,设3个变量low、mid、high保存数组元素的开始、中间以及末尾序号,

              将Key值与a[mid]比较,不断缩小查找范围,直至查找成功或者失败。

代码:

 1 while(low <= high)
 2 {
 3    mid=(high+low)/2;
 4    if(a[mid]==x)
 5       return mid;
 6    else if(a[mid]>x)
 7       high=mid-1;            //"mid-1" → "-"
 8    else                      //"mid+1" → "+"   避免程序进入无限循环当中
9
low=low+1;
10 }

 

posted @ 2014-11-15 15:53  秒杀5S  阅读(257)  评论(0编辑  收藏  举报