冒泡算法-入门级

冒泡排序

分析

分析:冒泡可以用生活的例子做比喻,比喻成打擂,有几个人就打几回合。

这里比喻的是数组有几个数就循环几次的道理是一样的。

第一回合:选出冠军,

第二回合:选出亚军,

第三回合:选出季军,

以此类推生成排行榜。

代码
1.生成随机数组

这里随机生成长度为10的任意数字的数组,进行排序。

//    随机生成数字
    public static int[] sortArr()
    {
        int[] arr = new int[10];
        Random random = new Random();
        for (int i = 0; i < arr.length; i++)
        {
            arr[i] = random.nextInt(10);
        }
        return arr;
    }
2、接收数组遍历值
int[] ints = sortArr();		// 接收生成的随机数组
int temp;		// 用来交换内容的值,(可以比喻成擂台)
System.out.println("排序前");
// 遍历排序前的顺序
for (int i = 0; i < ints.length; i++) {
    if (i != ints.length -1)
        System.out.print(ints[i]+"、");
    else
        System.out.println(ints[i]);
}
3、执行排序
// 回合制(几个数循环几次,每次循环拿到一个冠军(最大数))
for (int i = ints.length-1; i >= 0; i--) {
     for (int j = 0; j < i; j++) {	
         if (ints[j] > ints[j+1]){		// 前者大于后者进行交换,升序
             temp = ints[j];
             ints[j] = ints[j+1];
             ints[j+1] = temp;
         }
     }
     System.out.println("排序中");
    // 循环遍历
     for (int k = 0; k < ints.length; k++) {
         if (k != ints.length -1)
             System.out.print(ints[k]+"、");
         else
             System.out.println(ints[k]);
     }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值