文章标题
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("在数组中没有找到这个数"); } }