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("在数组中没有找到这个数");
}
}
文章标题
最新推荐文章于 2025-08-12 21:03:53 发布