文章标题

本文介绍了两种在Java中查找数组中特定数字的方法:一种是效率较高的二分法查找,适用于已排序的数据;另一种是在未排序数组中逐个元素比较的传统查找方式。通过这两种方法的对比,帮助读者理解不同情况下选择合适查找算法的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java学习之查找数据,在此总结了两种方法,有不对的请多多指出/**
* 二分法查找(对于有很多数据的情况下效率高)
* @param nums提供一个排序后的数组
* @param n 要查找的数字
*/
public void find1(int[] nums,int n){
int max = nums.length-1;
int min = 0;
int index = -1;
while(max >= min){
int half = (max+min)/2;
if(nums[half] == n){
index = half;
break;
}else if(nums[half] > n){
max = half-1;
}else{
min = half+1;
}
}
if(index >= 0){
System.out.println("找找到,它的下标是"+index);
}else{
System.out.println("没找到");
}
}
/**
* 在数组中查找一个数(效率较低)
* @param nums 提供一个数组
* @param n 要查找的数字
*/
public void find2(int [] nums, int n){
int index = -1;
for(int i=0; i<nums.length; i++){
if(n == nums[i]){
index = i;
break;
}
}
if(index >= 0){
System.out.println("在数组中找到了这个数,其下标为"+index);
}else{
System.out.println("在数组中没有找到这个数");
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值