栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > C/C++/C#

用Java写一个折半查找

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用Java写一个折半查找

用Java写一个折半查找

public class MyRTest {

public static void main(String[] args) {

int[] a = { 2, 5, 6, 8, 9, 10 };

// int key = halfSelect(a, 2);

// int key = halfSelect2(a, 9);

int key = Arrays.binarySearch(a, 8);// java自己有的二分查找方法

if (key == -1) {

System.out.println("没有找到");

} else {

System.out.println("要找的数的索引为" + key);

}

}

public static int halfSelect(int[] a, int key) {

int min = 0;

int max = a.length - 1;

int mid;

while (max >= min) {

mid = (min + max) / 2;

if (key > a[mid]) {

min = mid + 1;

} else if (key < a[mid]) {

max = mid - 1;

} else {// key==a[mid]

return mid;

}

}

return -1;

}

public static int halfSelect2(int[] a, int key) {

int min = 0;

int max = a.length - 1;

int mid = (min + max) / 2;

while (key != a[mid]) {

if (key > a[mid]) {

min = mid + 1;

} else if (key < a[mid]) {

max = mid - 1;

}

if (max < min) {

return -1;

}

mid = (min + max) / 2;

}

return mid;

}

}

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1037497.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号