冒泡排序算法原理
1、每一次循环结束之后,都要找出最大的数据,放到参与比较的这堆数据的最右边。(冒出最大的那个气泡)
2、 拿着左边的数字和右边的数字比对,当左边 > 右边的时候,交换位置。
例如:9, 8, 10, 7, 6
第1次循环:比较的数据 9 8 10 7 6
8 9 10 7 6 第1次比较:交换
8 9 10 7 6 第2次比较:不交换
8 9 7 10 6 第3次比较:交换
8 9 7 6 10 第4次比较:交换
第2次循环:比较的数据 8 9 7 6
8 9 7 6 第1次比较:不交换
8 7 9 6 第2次比较:交换
8 7 6 9 第3次比较:交换
第3次循环:比较的数据 8 7 6
7 8 6 第1次比较:交换
7 6 8 第2次比较:交换
第4次循环:比较的数据 7 6
6 7 第1次比较:交换
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {9, 8, 10, 7, 6, 0, 11};
for(int i = arr.length-1; i > 0; i--){
for(int j = 0; j < i; j++){
// 不管是否需要交换位置,总之是要比较一次的。
if(arr[j] > arr[j+1]){
// 交换位置
// arr[j] 和 arr[j+1] 交换
int temp;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
// 输出结果
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
标签:10,arr,int,交换,冒泡排序,比较 From: https://www.cnblogs.com/hyy-0/p/17615660.html