面试算法:冒泡排序

冒泡排序性能

    1. 性能:稳定
    1. 最好:O(n)
    1. 最坏:O(n*n)

冒泡排序常规版

 5public class BubbleSortNormal {
 6     public static void main(String[] args) {
 7         int[] list = {3,4,1,5,2};
 8         int temp = 0; // 开辟一个临时空间, 存放交换的中间值
 9         // 要遍历的次数
10         for (int i = 0; i < list.length-1; i++) {
11             System.out.format("第 %d 遍:\n", i+1);
12             //依次的比较相邻两个数的大小,遍历一次后,把数组中第i小的数放在第i个位置上
13             for (int j = 0; j < list.length-1-i; j++) {
14                 // 比较相邻的元素,如果前面的数小于后面的数,就交换
15                 if (list[j] < list[j+1]) {
16                     temp = list[j+1];
17                     list[j+1] = list[j];
18                     list[j] = temp;
19                 }
20                 System.out.format("第 %d 遍的第%d 次交换:", i+1,j+1);
21                 for(int count:list) {
22                     System.out.print(count);
23                 }
24                 System.out.println("");
25             }
26             System.out.format("第 %d 遍最终结果:", i+1);
27             for(int count:list) {
28                 System.out.print(count);
29             }
30             System.out.println("\n#########################");
31         }
32     }
33 }

你可能感兴趣的:(面试算法:冒泡排序)