8种排序算法--冒泡排序

冒泡排序是属于交换排序的。算法比较好写。冒泡排序就是利用沉浮定理来的。将大数上浮,小数下沉。或者相反。

这种算法就是每次比较一趟,将最值依次往后放。

比如说:

有一组数  :9,7,4,2,3,6,4,8,1 共九个数

冒泡就是这样实现的。先第一个数第2个数比,数大就给后面,那么依次比最,大数自然会放最后面

第1次                        7 4 2 3 6 4 8 1 9

第2次                        4 2 3 6 4 7 1 8 9

第3次                       2 3 4 4 6 1 7 8 9

第4次                        2 3 4 4 1 6 7 8 9

第5次                        2 3 4 1 4 6 7 8 9

第6次                        2 3 1 4 4 6 7 8 9

第7次                        2 1 3 4 4 6 7 8 9

第8次                        1 2 3 4 4 6 7 8 9

结果是:

1 2 34 4 6 7 8 9

 

算法代码如下:

packagecom.fish.sort;

 

/*

 * 冒泡排序

 */

public class BubbleSort {

 

 

    public static void main(String[] args) {

        // 将九个数进行排序

        int[] array = { 9, 7, 4, 2, 3, 6, 4, 8, 1 };

        // 排序

        myResult(array);

 

    }

 

    public static void myResult(int[] array) {

        int swap;

        // 外层循环控制比较次数

        for (int i = 0; i < array.length - 1; i++) {

 

            // 内层循环控制将最大数往后放

            for (int j = 0; j < array.length - i - 1; j++) {

                if (array[j] > array[j + 1]) {

                    swap = array[j];

                    array[j] = array[j + 1];

                    array[j + 1] = swap;

                }

 

            }

 

        }

 

        // 出结果

        System.out.println("结果是:");

        for (int i = 0; i < array.length; i++) {

            System.out.print(array[i] + " ");

        }

    }

}

 

这种算法时间复杂度n^2  空间复杂度是1.是稳定排序。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值