冒泡排序
冒泡排序基本思想: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;}}}
}