冒泡排序

现实生活中很多地方都用到了排序,比如全班成绩排名,在人数、次数都较少的情况下,完全可以手动排序。在上中小学时候,经常帮老师批阅试卷并进行整理,最后需要排名次登分数。为了快速完成工作,一般我是这样做的,将所有试卷分别放在几张桌子上成一览,从中找出分数最低的作为第一张,找出第二低的放其上,直到全部回收完毕。这样的速度是很快的,但是我的试卷也小,最高不超过72张。
如果按照冒泡排序的做法来做的话,就应该是这样: 一叠试卷中,从最上面开始往下翻,比较上下两张试卷,若上面的分数大于下面的,则交换两张试卷,这样第一趟下来分数最高的就能放到最下面,重复的次数是(n-1)+…+2+1次
上面的例子中作为人是可以通览全局的,但是计算机不行,计算机只能一步一步地解决细小的问题,好在计算机的运行速度极快。冒泡排序被称为“冒泡”的原因就是:在一趟排序下来,最大项总是会被“冒泡”到顶端。

下面是Java版的冒泡排序程序:

package cn.zhf.sort;
public class BubbleSort {
    public static void main(String[] args) {
        int[] a = {2,4,3,5,8,7,1};//创建并初始化一个int数组
        int temp = 0;
        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]){
                    temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }
        for(int i=0;i<a.length;i++){
            System.out.println(a[i]);
        }
    }
 
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值