java结构与算法之冒泡排序

一、什么是冒泡排序:冒泡排序是在从相邻两个数之间进行比较,这里将前面一个值定义为before,后面一个值定义为after;当before>after时i,交换他们的值,如果before<after,则不交换。

  冒泡排序的时间复杂度,用大O法表示:O(N^2),运算效率低,但是算法思想简单,是比较基础的排序方法

  冒泡排序思路图:

        

 

    冒泡排序参考代码:

public class PopSort {
    int[] array = null;

    @Test
    public void testPopSort() {

        array = new int[5];

        array[0] = 45;
        array[1] = 22;
        array[2] = 33;
        array[3] = 43;
        array[4] = 34;

        int nElmes = array.length;
        for (int i = nElmes - 1; i > 1; i--) {
            for (int j = 0; j < i; j++) {
                if (array[j] > array[j + 1]) {
                    swap(j, j + 1);
                }
            }
        }

        System.out.println(Arrays.toString(array));
    }

    private void swap(int one, int two) {
        Integer temp = array[one];
        array[one] = array[two];
        array[two] = temp;
    }
}

 

posted @ 2015-09-05 19:41  googlemeoften  阅读(174)  评论(0编辑  收藏  举报