JavaSE:冒泡法排序

package com.atweihai.javase;

/**
* 冒泡法排序
*
* 5个整数: 15 67 43 22 13
* 素组下标: 0 1 2 3 4
*
*
* 15 43 22 13 67 变量i: 0
*
* 15 22 13 43 67 变量i: 1
*
* 15 13 22 43 67 变量i: 2
*
* 13 15 22 43 67 变量i: 3
*
*/
public class BubbleSort {

public static void main(String[] args) {
    int[] num={15,67,43,22,13};
    num=bubbleSort(num);

    for(int n:num){
        System.out.print(n+" ");
    }


}

public static int[] bubbleSort(int[] num){

    int temp=0;

    //此处为i<num.length-1 而非 i<num.length
    //这样不会造成多余的外层循环  :如 5 个整数 ,那么整体是要比较 4次的
    for(int i=0;i<num.length-1;i++){
        //内层循环两两比较 
        //num.length-i-1至关重要,让每一次确定的最大值不参与下一次的比较,提高效率
        for(int j=0;j<num.length-i-1;j++){
            //若前一个值大则交换位置
            if(num[j]>num[j+1]){
                temp=num[j];
                num[j]=num[j+1];
                num[j+1]=temp;
            }
        }

    }

    return num;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值