冒泡排序

排序算法-------冒泡排序

排序目标集合:{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

posted @ 2018-06-23 22:08  空芯菜  阅读(247)  评论(0编辑  收藏  举报