Java排序之冒泡排序

冒泡排序

一、基本概念

重复地走访过要排序的数列,依次比较相邻的两个数,将小数放在前面,冒泡排序大数放在后面,直到所有的数都是有序为止。

每一趟比较都是有收益的,能够得到当前趟的最大数。

二、算法特点

是否稳定:true

平均时间复杂度: O(n^2) 

最差时间复杂度: O(n^2)  

最优时间复杂度: O(n^2)

最差空间复杂度: O(n)

需要辅助空间:    O(1)

三、相关代码

public class Test {
    public static void main(String[] args) {
        int[] a = { 2, 5, 3, 9, 6, 1, 4, 8, 7 };
        bubble_sort(a);
     System.out.println("================="); printArray(a); }
public static void bubble_sort(int[] a) { for (int i = 0; i < a.length - 1; i++) { for (int j = 0; j < a.length - 1 - i; j++) { if (a[j] > a[j + 1]) { int tmp = a[j]; a[j] = a[j + 1]; a[j + 1] = tmp; } }
       printArray(a); } }
public static void printArray(int[] a) { for (int i : a) { System.out.print(i + " "); }
     System.out.println(); } }

 运行结果:

 

 

 

 

posted @ 2012-10-17 17:58  一瓶珍情  阅读(415)  评论(0)    收藏  举报