冒泡排序算法
@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(“这个就是模板了”);
}
}
}
我是分割线----------------------------我是分割线-------------------------------
下一章为 折半查找