public class De {
//寻找一个数组中一个数据是该数组的第几个元素
public static int binarSearch (int[] array,int key){int left = 0; int right = array.length-1;while (left <= right ) { int mid = ( left + right )/2;if (array[mid] < key){left = mid+1;}else if(array[mid] > key){right = mid-1;}else {return mid; }}return -1;// 没有找到该数
}public static void main3(String[] args) {int[] array = new int[10000];for (int i = 0; i < 10000 ; i++) {array[i] = i;}int ret = binarSearch(array,5644);System.out.println(ret);
//冒泡法排序
//优化: public static void pubSort (int[] array) {if (array == null || array.length == 0){return ;}//i是趟数boolean flg = false;for (int i = 0; i < array.length-1 ; i++) {flg = false;for (int j = 0; j < array.length-1-i ; j++) {if (array[j] > array[j + 1]) {int a = array[j];array[j] = array[j + 1];array[j + 1] = a;flg = true; //判断是否已经排序好}}if (flg == false){break;}}}public static void main2(String[] args) {int[] array= {1,5,3,6,9,7,8};maSort(array);System.out.println(Arrays.toString(array));}
//冒泡排序
public static void maSort (int[] array) {int a = 0;if (array == null || array.length == 0){return ;}//i是趟数for (int i = 0; i < array.length-1 ; i++) {for (int j = 0; j < array.length-1-i ; j++) {if (array[j] > array[j+1]){a = array[j];array[j] = array [j+1];array[j+1] = a;}}}
}
public static void main1(String[] args) {int[] array = {8,2,4,3,9,5};maSort(array);System.out.println(Arrays.toString(array));
}
}