说明:
- 冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。
- 如果有 n 个数进行排序,只需将 n-1 个数归位,也就是说要进行 n-1 趟操作(数组角标从0开始)。
- 第 i 趟比较只需要比较 n-i -1次(数组角标从0开始)。
代码部分:
public class BubbleSort {
public static void main(String[] args) {
int[] arr=new int[] {43,34,24,64,13,89,65,57,26,26};
for(int i=0;i<arr.length-1;i++) {
for(int j=0;j<arr.length-i-1;j++) {
if(arr[j]>arr[j+1]) {
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
}
}
总结:
- 数组角标从0开始——第 i 趟比较需要比较 n-1-i次。
- 数组角标从1开始——第 i 趟比较需要比较 n-i 次。
- n-1 与 n-1-i。