冒泡排序是一种稳定排序方法,基本思想:
- 令i从n-1递减到1,重复步骤2-3
- 令j从0递增到i,重复步骤3
- 如果元素arr[j]与arr[j+1]反序,交换它们
package SortRank;
/**
* 冒泡排序:两两比较,不符合规则就交换(如何表示两两比较)
* @author 18322
*
*/
public class BubbleSort {
public static void main(String[] args) {
int arr[] = {3,45,2,6,4,7,8,23,34,43,17,26,46};
System.out.println("数组排序前的顺序:");
printArray(arr);
sort(arr);
System.out.println("数组最终排序的顺序:");
printArray(arr);
}
private static void sort(int arr[]) {
for(int i = arr.length-1; i > 0; i--) { //i控制趟数
for(int j = 0; j < i; j++) { //j控制每趟比较次数
if(arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
System.out.println("第" + i + "次数组排序的顺序:");
printArray(arr);
}
}
private static void printArray(int arr[]) {
for(int in : arr) {
System.out.print(in + "\t");
}
System.out.println();
}
}