java 冒泡排序
package order.bubble.demo;
//冒泡排序
public class BubbleSort {
public static int[] arr = new int[] { 2, 4, 5, 1, 3, 8, 6, 9, 0, 7 };
public static void main(String[] args) {
// 从大到小排序
int temp;
int sortCount = 0;// 遍历次数
int handleCount = 0;// 处理次数
for (int i = 1; i < arr.length; i++) {
for (int j = 0; j < arr.length - i; j++) {
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
handleCount++;
}
sortCount++;
System.out.println("i下标: " + i + " j下标: " + j);
}
}
// 查看结果
for (int i : arr) {
System.out.print(i + "\t");
}
System.out.println();
System.out.println("遍历次数: " + sortCount);
System.out.println("操作次数: " + handleCount);
}
// i下标: 1 j下标: 0
// i下标: 1 j下标: 1
// i下标: 1 j下标: 2
// i下标: 1 j下标: 3
// i下标: 1 j下标: 4
// i下标: 1 j下标: 5
// i下标: 1 j下标: 6
// i下标: 1 j下标: 7
// i下标: 1 j下标: 8
// i下标: 2 j下标: 0
// i下标: 2 j下标: 1
// i下标: 2 j下标: 2
// i下标: 2 j下标: 3
// i下标: 2 j下标: 4
// i下标: 2 j下标: 5
// i下标: 2 j下标: 6
// i下标: 2 j下标: 7
// i下标: 3 j下标: 0
// i下标: 3 j下标: 1
// i下标: 3 j下标: 2
// i下标: 3 j下标: 3
// i下标: 3 j下标: 4
// i下标: 3 j下标: 5
// i下标: 3 j下标: 6
// i下标: 4 j下标: 0
// i下标: 4 j下标: 1
// i下标: 4 j下标: 2
// i下标: 4 j下标: 3
// i下标: 4 j下标: 4
// i下标: 4 j下标: 5
// i下标: 5 j下标: 0
// i下标: 5 j下标: 1
// i下标: 5 j下标: 2
// i下标: 5 j下标: 3
// i下标: 5 j下标: 4
// i下标: 6 j下标: 0
// i下标: 6 j下标: 1
// i下标: 6 j下标: 2
// i下标: 6 j下标: 3
// i下标: 7 j下标: 0
// i下标: 7 j下标: 1
// i下标: 7 j下标: 2
// i下标: 8 j下标: 0
// i下标: 8 j下标: 1
// i下标: 9 j下标: 0
// 9 8 7 6 5 4 3 2 1 0
// 遍历次数: 45
// 操作次数: 29
}