------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ---------- /* * 数组排序: * 冒泡排序 * 选择排序 * 二分法查找:从一个数组中查找一个指定的数,(并返回其索引值)前提:数组必须排好序! */ public class Demo6 { public static void main(String[] args) { //将数组中的数从小到大排列 int[] arr = new int[]{5,100,2,10,34}; /*选择排序*/ for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<arr.length;j++){ if(arr[i] > arr[j]){ int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } /* //冒泡排序 for(int j=0;j<arr.length-1;j++){//比较的轮数 for(int i=0;i<arr.length-1-j;i++){ if(arr[i]>arr[i+1]){ int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } } */ /*二分法查找*/ for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+","); } int minIndex = 0; int maxIndex = arr.length-1; int midIndex = (minIndex+maxIndex)/2; int number = 100; while(arr[midIndex]!=number){ if(number<arr[midIndex]){ maxIndex = midIndex-1; }else if(number>arr[midIndex]){ minIndex = midIndex+1; } if(minIndex>maxIndex){ midIndex = -1; break; } midIndex = (minIndex+maxIndex)/2; } System.out.println(); System.out.println(midIndex); } } 没有学不好,只有不认真~~——至自己!!