冒泡排序
排序算法-------冒泡排序
排序目标集合:{1,9,2,8,3,7,4,6,5,0}
排序方法代码:
1 // 冒泡排序(升序) 2 public static void bubbleSort(Integer[] numbers) { 3 int numLength = numbers.length; // 取得数组的长度 4 5 for (int i = 1; i < numLength; i++) { // 排序次数最多为:长度-1次 6 // isSortable标记当前排序是否发生交换,若没有发生交换,说明当前数组已经有序,每排序一次重置一次标记 7 boolean isSortable = true; 8 for (int j = 0; j < numLength - i; j++) { 9 if (numbers[j] > numbers[j+1]) { 10 int tempNum = numbers[j]; 11 numbers[j] = numbers[j+1]; 12 numbers[j+1] = tempNum; 13 isSortable = false; // 改变标记 14 } 15 } 16 17 if (isSortable) { 18 break; // 数组已经有序 19 } 20 } 21 }
排序过程:
第1趟排序:1 2 8 3 7 4 6 5 0 9
第2趟排序:1 2 3 7 4 6 5 0 8 9
第3趟排序:1 2 3 4 6 5 0 7 8 9
第4趟排序:1 2 3 4 5 0 6 7 8 9
第5趟排序:1 2 3 4 0 5 6 7 8 9
第6趟排序:1 2 3 0 4 5 6 7 8 9
第7趟排序:1 2 0 3 4 5 6 7 8 9
第8趟排序:1 0 2 3 4 5 6 7 8 9
第9趟排序:0 1 2 3 4 5 6 7 8 9
初学小白,请多指教!