public class Paixu { public static void main(String[] args) { int[]arr={1,2,8,10,18,22,28,100,20}; /* //选择排序 从小到大 for (int i = 0; i < arr.length-1; i++) { for (int j = i+1; j < arr.length; j++) { if (arr[i]>arr[j]) { int tmp=arr[i]; arr[i]=arr[j]; arr[j]=tmp; } } }*/ //冒泡排序 从小到大 for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.length-i-1; j++) { if (arr[j]>arr[j+1]) { int tmp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=tmp; } } } System.out.println(Arrays.toString(arr)); //二分法 System.out.println(search(arr, 20)); } public static int search(int[]arr,int key){ int start=0; int end=arr.length-1; while(arr[start]<=arr[end]){ int middle=(end+start)/2; if (key<arr[middle]) { end=middle-1; }else if(key>arr[middle]){ start=middle+1; }else{ return middle; } } return -1; } }