package sort;
public class BubbleSort {
public static void main(String[] args) {
// 创建一个乱序数组
int[] array = { 63, 4, 24, 1, 3, 15 };
BubbleSort sorter = new BubbleSort();
System.out.println("冒泡升序排序");
sorter.sort_ASC(array);
System.out.println("冒泡降序排序");
sorter.sort_DESC(array);
}
/**
* 冒泡升序排序:两两比较,小在前,大在后
*
* @param array 要排序的数组
*/
public void sort_ASC(int[] array) {
for (int i = 1; i < array.length; i++) {
// 比较两个相邻元素,较大的数往后冒泡
for (int j = 0; j < array.length - i; j++) {
if (array[j] > array[j + 1]) {
// 把第1个值放到临时变量中
int temp = array[j];
// 把第2个值赋给第1个值
array[j] = array[j + 1];
// 把临时变量赋给第2个值
array[j + 1] = temp;
}
}
}
// 遍历打印数组
for (int i : array) {
System.out.print(" " + i);
}
System.out.println();
}
/**
* 冒泡降序排序:两两比较,大在前,小在后
*
* @param array 要排序的数组
*/
public void sort_DESC(int[] array) {
for (int i = 1; i < array.length; i++) {
// 比较两个相邻元素,较小的数往后冒泡
for (int j = 0; j < array.length - i; j++) {
if (array[j] < array[j + 1]) {
// 把第1个值放到临时变量中
int temp = array[j];
// 把第2个值赋给第1个值
array[j] = array[j + 1];
// 把临时变量赋给第2个值
array[j + 1] = temp;
}
}
}
// 遍历打印数组
for (int i : array) {
System.out.print(" " + i);
}
System.out.println();
}
}