使用冒泡排序对N个数字进行排序,要比较(N-1)趟
i = 0;即第一趟要比较(n-1)次,得到最大值放在第(n-1)的位置
i = 1;即第二趟要比较(n-2)次,得到最大值放在第(n-2)的位置
……………………
依次类推,
第n趟要比较(n-i-1)次
ublic class BubleSort {
/**
* 冒泡排序总共要比较n-1趟
*
* 第一趟要比较n-1次,得到最大的数放在 第(n-1)的位置上
* 第二趟要比较n-2次,得到最大的数放在 第(n-2)的位置上
* …………………………
* 依次类推
* 第i趟要比较(n-i-1)次
*
* @param a
* @param n
* @return
*/
public static int[] bubbleSort(int[] a,int n){
int temp;
for (int i = 0; i < n-1; i++) {
for (int j = 0; j <n-i-1; j++) {
if (a[j]>a[j+1]) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
return a;
}
public static void main(String[] args) {
int[] a = {1,2,3,5,2,3};
// int[] a = {6,2,4,1,3,8};
int n = 6;
int[] arr = new int[a.length];
arr = bubbleSort(a,n);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}