交换排序之《冒泡排序》

距离上次写博客已经过去20天了,卤煮没有偷懒,而是毕业找到了新的工作。

于是从帝都来到了夏天不冷、冬天也不冷的厦门,2000多公里的路程,不远千里,公司的环境超级棒!哈哈!开心!

面试的时候也被问到了算法内容,幸亏有所准备!因此准备写下了,记下来。俗话说:好记性不如烂笔头!有什么不对的地方望大神们指正!

冒泡排序

 冒泡排序是交换排序的一种,另一种就是快速排序,后面的文章会介绍。我们先说说冒泡,见名思意就知道这种排序算法如同一个个的水泡慢慢的浮上来,这里的水泡是指排序中的元素。它是一种稳定的排序算法,当存在相等的元素时,不会改变相等元素原始存在的顺序。

举例:int[] arr = {5,1,4,8,0,8,7,2,3,10}

第一趟结果:1,4,5,0,8,7,2,3,8,10

第二趟结果:1,4,0,5,7,2,3,8,8,10

第三趟结果:1,0,4,5,2,3,7,8,8,10

第四趟结果:0,1,4,2,3,5,7,8,8,10

第五趟结果:0,1,2,3,4,5,7,8,8,10
第六趟结果:0,1,2,3,4,5,7,8,8,10

由第五趟和第六趟的排序结果相同可知:冒泡排序的排序的次数跟被排序数组的初始状态有关系!!(划重点)

 

   /**
     * 冒泡排序
     * @param a 数组名字
     * @param length 数组长度
     */
   public static void bubbleSort(int a[],int length){

        int temp,i,j;
        for(i=0;i<length-1;i++){

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

                if(a[j]>a[j+1]){
                    temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值