首页 > 技术文章 > Java字符串04-冒泡排序

eosclover 2020-08-13 22:29 原文

冒泡排序:

 

package doudou;
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) {

/*
*

*

       思路 1.先判断是否为空,为空的话原样返回
         2.不会空的话,求长度 ,相邻2个字符做比较
          第一轮-0:
              第一次:第一位和第二位比较 如果第一位>第二位,交换,否则不交换
              第二次: 第二位和第三位交换 如果第二位>第三位,交换,否则不交换
              依次类推 直到最后 倒数第二位和倒数第一位比较,退出。(第一轮结束,将最大的数冒泡冒泡到最后一位!!!) 
          进入第二轮-1的循环:


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

          依次。。。
              
          
    
*
*
*/

        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; } }

 

推荐阅读