Java 中的两种查找算法方式
AI-摘要
新 · 都在 GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
Java 中的两种查找算法方式
线性查找
// 自定义成员方法来描述线性查找,要求在指定的数组中查找指定的元素并返回下标
public static int findOut(int[] arr, int data) {
for (int i = 0; i < arr.length; i++) {
if (data == arr[i]) {
return i;
} else {
System.out.println("查找失败!没有该元素!");
}
}
return -1;
}
二分查找
// 自定义成员方法来描述二分查找算法,要求在指定的数组中查找指定的元素并返回下标
public static int findBinary(int[] arr, int left, int right, int data) {
// 数组中至少有一个元素时才需要查找
if (left <= right) {
// 1.计算中间元素的下标并记录
int p = (left + right) / 2;
// 2.使用目标元素与中间元素比较大小,若相等则直接返回当前下标表示查找成功
if (data == arr[p]) {
return p;
}
// 3.若目标元素小于中间元素,则去中间元素的左边查找,重复上述过程,使用递归
else if (data < arr[p]) {
return findBinary(arr, left, p - 1, data);
}
// 4.若目标元素大于中间元素,则去中间元素的右边查找,重复上述过程,使用递归
else {
return findBinary(arr, p + 1, right, data);
}
} else {
return -1;
}
}
main
public static void main(String[] args) {
int[] arr = { 10, 20, 30, 40, 50, 60 };
int num = 50;
int len = arr.length;
int p = findBinary(arr, 0, len, num);
System.out.println("当前元素的下标在数组中的位置是:" + p);
}
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Carol 小屋
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果