码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序

时间:2018-06-24 00:45:31      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:bool   有序   lse   冒泡排序   break   als   代码   交换   OLE   

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

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

冒泡排序

标签:bool   有序   lse   冒泡排序   break   als   代码   交换   OLE   

原文地址:https://www.cnblogs.com/caizhen/p/9219050.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!