冒泡排序

Posted caizhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序相关的知识,希望对你有一定的参考价值。

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

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

以上是关于冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

java冒泡排序法代码

python代码实现鸡尾酒排序(双向冒泡排序)

冒泡排序python代码

视频+图文+动画详解冒泡排序

交换排序(冒泡排序快速排序的算法思想及代码实现)

C语言冒泡排序。