字符串的冒泡排序_Java字符串04-冒泡排序

2d88c5126151573ae363f8817d05c73e.png

思路 :

1.先判断是否为空,为空的话原样返回

2.不会空的话,求长度 ,相邻2个字符做比较

第一轮i=0:

   第一次:第一位和第二位比较 如果第一位>第二位,交换,否则不交换

   第二次: 第二位和第三位交换 如果第二位>第三位,交换,否则不交换

   依次类推 直到最后 倒数第二位和倒数第一位比较,退出。(第一轮结束,将最大的数冒泡到最后一位!!!)

进入第二轮i=1的循环:

第二轮结束,将次最大的数冒泡到倒数第二位。且交换比较的截止位置是length-1-i(i=1))

依次直到i层循环结束

public class test_maopao {
    public static void main(String[] args) {
        int[] before = { 10, 24, 34, 9, 15, 6, 55 };
        System.out.println(before);//输出的是地址
        maopao(before);
    }

    public static int[] maopao(int[] before) {         
		if (before.length <= 1) {
            return  before;
        } 
        else if (before.length > 1) {
            int before_length = before.length;//长度为7
            for (int i = 0; i < before_length - 1; i++) {//外层循环几次 能使数组按照从小到大排序
                for(int j=0;j<before_length-i-1;j++)//交换 第一轮将最大的数放在最后,...
                if (before[j] > before[j+1]) {
                    // 交换
                    int temp = 0;
                    temp = before[j + 1];
                    before[j + 1] = before[j];
                    before[j] = temp;
                }

            }
            
        }
        for(int i = 0; i < before.length; i++) {
            System.out.print(before[i]+ " ");
        }
        return before;
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值