选择排序 冒泡排序 二分查找法(有序的数组)
冒泡排序 每次比较,选取一个最大的,放在右边
public static void bubbleSort(int[] arr){ for (int i = 0; i <arr.length-1; i++) { // 5个数 比较4次就可以 for (int j = 0; j < arr.length-1-i; j++) { if (arr[j] > arr[j+1]) { // 换位操作 int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } }
选择排序 每次比较,选取一个最小的 ,放在左边
public static void chioceSort(int[] arr){ for (int i = 0; i < arr.length-1; i++) { for (int j = i+1; j < arr.length; j++) { if (arr[i]>arr[j]) { swap(arr, i, j); } } } } public static void swap(int[] arr,int i,int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; }
二分查找
public static int getIndex(int[] arr,int value) { int min = 0; int max = arr.length-1; int mid = (min + max)/2; while(value!= arr[mid]){ if (value > arr[mid]) { min = mid + 1; } else if(value < arr[mid]) { max = mid - 1; } mid = (min + max)/2; if (min > max) { return -1; } } return mid; }
竹杖芒鞋轻胜马,一蓑烟雨任平生。
回首向来萧瑟处,也无风雨也无晴。