排序——冒泡排序

 1 /*
 2  * int类型的数组对象
 3  * int[] arr = {9, 8, 10, 7, 6, 0, 11};
 4  * 经过冒泡排序对以上数组中的元素进行排序
 5  * 
 6  * 原始数据:9,8,10,7,6,0,11
 7  * 第一次循环:    第零位9跟第一位8进行比较,交换位置:8,9,10,7,6,0,11
 8  *             第一位9跟第二位10进行比较,位置不变:8,9,10,7,6,0,11
 9  *            第二位10跟第三位7进行比较,交换位置:8,9,7,10,6,0,11
10  *            第三位10跟第四位6进行比较,交换位置:8,9,7,6,10,0,11
11  *            第四位10跟第五位0进行比较,交换位置:8,9,7,6,0,10,11
12  *            第五位10跟第六位11进行比较,位置不变:8,9,7,6,0,10,11
13  *最大数11冒出
14  *此时数据:8,9,7,6,0,10
15  *第二次循环:    第零位8跟第一位9进行比较,位置不变:8,9,7,6,0,10
16  *             第一位9跟第二位7进行比较,交换位置:8,7,9,6,0,10
17  *            第二位9跟第三位6进行比较,交换位置:8,7,6,9,0,10
18  *            第三位9跟第四位0进行比较,交换位置:8,7,6,0,9,10
19  *            第四位9跟第五位10进行比较,位置不变:8,7,6,0,9,10
20  *最大数10冒出
21  *此时数据:8,7,6,0,9
22  *第三次循环:    第零位8跟第一位7进行比较,交换位置:7,8,6,0,9
23  *             第一位8跟第二位6进行比较,交换位置:7,6,8,0,9
24  *            第二位8跟第三位0进行比较,交换位置:7,6,0,8,9
25  *            第三位8跟第四位9进行比较,位置不变:7,6,0,8,9
26  *最大数9冒出
27  *此时数据:7,6,0,8
28  *第四次循环:    第零位7跟第一位6进行比较,交换位置:6,7,0,8
29  *             第一位7跟第二位0进行比较,交换位置:6,0,7,8
30  *            第二位7跟第三位8进行比较,位置不变:6,0,7,8
31  *最大数8冒出
32  *此时数据:6,0,7
33  *第五次循环:    第零位6跟第一位0进行比较,交换位置:0,6,7
34  *             第一位6跟第二位7进行比较,位置不变:0,6,7
35  * 最大数7冒出
36  * 此时数据:0,6
37  * 第六次循环:    第零位0跟第一位6进行比较,位置不变:0,6
38  * 最大数6冒出
39  */
40 public class MaoPao {
41     public static void main(String[] args) {
42         // 定义要排序的int数组
43         int[] arr = { 9, 8, 10, 7, 6, 0, 11 };
44         // 计算循环的次数(可有可无)
45         int count = 0;
46         for (int i = arr.length - 1; i > 0; i--) {
47             for (int j = 0; j < i; j++) {
48                 count++;
49                 if (arr[j] > arr[j + 1]) {
50                     // 以下三行代码完成数据的交换
51                     int temp;// 暂时存放
52                     temp = arr[j];// 第一个数拿出来
53                     arr[j] = arr[j + 1];// 第二个数放到第一个数的位置
54                     arr[j + 1] = temp;// 第一个数放到第二个数的位置
55                 }
56             }
57         }
58         System.out.println("循环了" + count + "次。");
59         for (int i = 0; i < arr.length; i++) {
60             System.out.println(arr[i]);
61         }
62     }
63 
64 }

最简单的排序算法。

posted @ 2020-05-21 11:31  1998青年  阅读(140)  评论(0编辑  收藏  举报