首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

2分查找的算法

2012-11-11 
二分查找的算法package test/** * @author 张牛俊 * date :2010-5-11 */public class MySecondMidTest {

二分查找的算法

package test;/** * @author 张牛俊 * date :2010-5-11 */public class MySecondMidTest { public static void main(String[] args) {  int [] data = {1,3,5,7,8,9,11,13};  int position = binarySearch(data, 9);  if(position == -1){   System.out.println("没有找到相应的值");  }else{   System.out.println("找到了  位置为:"+position);  } }  public static int binarySearch(int data[],int value){  int startIndex = 0;  int endIndex = data.length-1;  int midIndex = (int) Math.floor((endIndex-startIndex)/2);  while(data[midIndex]!=value && startIndex   //调整查询的范围   System.out.println("当前执行的比较为 数组的值:"+data[midIndex]+" value值为:"+value);   if(value < data[midIndex]){    endIndex = midIndex - 1;   }else if(value>data[midIndex]){    startIndex = midIndex+1;   }   //重新调整中间的位置   midIndex = (int) Math.floor((endIndex+startIndex)/2);  }  return (data[midIndex]!=value) ? -1 :midIndex; }}

?

热点排行