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

排序1--冒泡排序

时间:2016-03-04 01:55:04      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

思想:
冒泡排序就是整个过程像气泡一样往上升
单向冒泡排序的基本思想是(假设由小到大排序):对给定的 n 个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录,则交换两个记录的位置,进行一轮比较和换位之后,n个记录最大的记录将位于第n位
然后对前(n-1)个记录进行第二轮比较;重复该过程直到进行比较的记录只剩一轮为止。

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


代码实现如下:
//升序

public void BubbleSort(int[] array){

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

}  

//递归实现冒泡排序

public void BubbleSort(int[] array, int length) {

    if((length==0)||length==1) return;
    for(int i=0; i<length-1; i++){
        if (array[i]>array[i+1])  swap (array[i], array[i+1]);
    }
    
   BubbleSort(array, length-1)

}

排序1--冒泡排序

标签:

原文地址:http://www.cnblogs.com/daisy0707/p/5240646.html

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