import java.util.Arrays; /* 1、比较数组中相邻的元素,如果第一个数比第二个数大,则交换位置 2、每一次比较都会产生一个最大数,或者最小的数 3、下一轮则可以少一次循环 4、依次循环,直到结束 */ public class BubbleSort { public static void main(String[] args) { int[] a = {1,23,22,45,67,234,56,1,3,4}; int[] bubbleSort = bubbleSort(a);//调用我们自己写的方法 System.out.println(Arrays.toString(bubbleSort)); } public static int[] bubbleSort(int[] array) { //外层循环,我们要走多少次 int temp = 0; for (int i = 0; i < array.length - 1; i++) { boolean flag = false; //内层循环,比较判断两个数,如果第一个数比第二个数大,则交换位置 for (int j = 0; j < array.length - 1; j++) { if (array[j] > array[j + 1]) { temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } if(false == flag){ break; } } return array; } }