黑马程序员技术交流社区
标题:
折半查找
[打印本页]
作者:
半世心修
时间:
2015-6-2 06:54
标题:
折半查找
public static boolean BinarySearch(int keyValue)
{
int left; // 左边界变量
int right; // 右边界变量
int middle; // 中位数变量
System.out.println("数据长度:"+len);
left = 0;
right = len - 1;
while (left <= right)
{
//由于源数据不是顺序的,需先进行排序
int temp;
for(int i=0;i<data.length;++i)
{
for(int j=0;j<data.length-i-1;++j)
{
if(data[j]>data[j+1])
{
temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
}
}
}
middle = (left + right) / 2;
// 欲查找值较小
if (keyValue < data[middle])
{
right = middle - 1; // 查找前半段
}
// 欲查找值较大
else if (keyValue > data[middle])
{
left = middle + 1; // 查找后半段
}
// 查找到数据
else if (keyValue == data[middle])
{
System.out.println("data[" + middle + "] = " + data[middle]);
return true;
}
counter++;
}
return false;
} }
复制代码
作者:
城北一直晴。
时间:
2015-6-2 07:29
不错啊,赞一个!
作者:
施洋
时间:
2015-6-2 07:52
支持一下,一起学习
作者:
李志鹏
时间:
2015-6-2 11:05
赞一个!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2