冒泡排序基本思想:N 个数的数组,经过N-1轮排序。
- 升序
大的值下沉,小的值上浮。- 降序
小的值下沉,小的字上浮
import java.util.Arrays;
public class BubbleSort {
public static void main(String[] args) {
int[] values = {17,14,13,29,25,8,4};
System.out.println("values数组原始顺序:"+ Arrays.toString(values));
bubbleSort(values);
System.out.println("values数组排序后顺序:"+ Arrays.toString(values));
}
private static void bubbleSort(int[] values) {
//比较几轮?
for (int i = 0; i < values.length - 1 ; i++) {
//定义一个布尔类型的变量,标记数组是否已到达有序状态;
boolean flag = true;
for (int j = 0; j < values.length - i - 1; j++) {
if(values[j] > values[j + 1]){
int temp = values[j];
values[j] = values[j+1];
values[j+1] = temp;
flag = false;
}
}
//有一轮没有进行比较值,说明从本轮开始,已经是有序的数组了,后面的比较的轮次可以不进行比价
if (flag){
break;
}
}
}
}