您的位置:首页 > 其它

文章标题

2017-03-26 20:59 190 查看
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("在数组中没有找到这个数");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: