2021-05-29 冒泡排序算法

冒泡排序算法

@author 白嫖怪Ae
@注释:笔者环境 Win10 + IDEA+jdk16

冒泡排序是最常见的一种排序方式。
结果就只有两种要么升序排列,要么降序排列。
比如
    int[] nums1={0,16,654,32,54,89,13,45,33,10,5,8,46,1};

降序排列后:
    654,89,54,46,45,33,32,16,13,10,8,5,1,0
升序排列后:
    0,1,5,8,10,13,16,32,33,45,46,54,89,654
下面附上一张图,解释一下冒泡排序
冒泡排序—升序排列
本文只记录了升序排列

public class BubbleSortDemo {
    public static void main(String[] args) {
        int[] nums1 = {0, 16, 654, 32, 54, 89, 13, 45, 33, 10, 5, 8, 46, 1};
        
        //升序排列
        for (int i = 0; i < nums1.length - 1; i++) { 
            for (int j = 0; j < nums1.length - i - 1; j++) {
                if (nums1[j] < nums1[j + 1]) { //如果要降序,把  <  改  > 
                    //把大的数放前面
                    int t = nums1[j];
                    nums1[j] = nums1[j + 1];
                    nums1[j + 1] = t;
                }
            }
        }

        //遍历数组 for each;
        for (int i : nums1) {
            System.out.print(i + "\t");
        }
    }
}

为了方便大家记忆这个冒泡排序,有个口诀

升序排序口诀:

n个数字来排队
两两相比小靠前
外层循环length-1
内层循环length-i-1

我是分割线-------------------------我是分割线----------------------
for(int i=0;i<num.length-1;i++){
    for(int j=0;j<num.length-i-1;j++){
         if (nums1[j] < nums1[j + 1]) {小于号 就是升序
         system.out.print(“这个就是模板了”);
         }
     }
}
我是分割线-------------------------我是分割线----------------------

降序排序口诀

N个数字来排队
两两相比大靠前
外层循环length-1
内层循环length-i-1
我是分割线-------------------------我是分割线----------------------
for(int i=0;i<num.length-1;i++){
    for(int j=0;j<num.length-i-1;j++){
         if (nums1[j] > nums1[j + 1]) {// 大于号 就是降序
         system.out.print(“这个就是模板了”);
         }
     }
}
我是分割线----------------------------我是分割线-------------------------------

下一章为 折半查找

Guess you like

Origin blog.csdn.net/qq_43098690/article/details/115306460