排序(1)简单排序

来源:互联网 发布:sql error: 1054 编辑:程序博客网 时间:2024/05/21 09:15

 冒泡排序 

public static int[] data = {3,7,8,0,9,5,4,1,6,2};public static void main(String[] args) {int len = data.length;System.out.println(Arrays.toString(data));for(int i = 0; i < len - 1; i++){for(int j = i + 1; j < len; j++){if(data[i] > data[j]){swap(i, j);}}System.out.println();System.out.println(Arrays.toString(data));}}private static void swap(int index1, int index2){int temp = data[index1];data[index1] = data[index2];data[index2] = temp;System.out.print("[" + data[index1] + ":" + data[index2] + "]");}

 

 选择排序

public static int[] data = {3,7,8,0,9,5,4,1,6,2};public static void main(String[] args) {int len = data.length;System.out.println(Arrays.toString(data));System.out.println();for(int i = 0; i < len - 1; i++){int min = i;for(int j = i + 1; j < len; j++){if(data[min] > data[j]){min = j;}}swap(i, min);System.out.println(Arrays.toString(data));}}private static void swap(int index1, int index2){int temp = data[index1];data[index1] = data[index2];data[index2] = temp;System.out.println("[" + data[index1] + ":" + data[index2] + "]");}

 插入排序

public static int[] data = {3,7,8,0,9,5,4,1,6,2};public static void main(String[] args) {int len = data.length;System.out.println(Arrays.toString(data));System.out.println();for(int i = 1; i < len; i++){System.out.println("i =" + i);int temp = data[i];int j = i - 1;while(j >= 0 && data[j] >= temp){data[j + 1] = data[j];j--;}data[j + 1] = temp;System.out.println(Arrays.toString(data));}}