public class Sort { public void BubbleSort(int[] arr){ for(int i = 0;i<arr.length-1;i++) { for (int j = 1; j < arr.length; j++) { if (arr[j - 1] > arr[j]) { int tmp = arr[j - 1]; arr[j - 1] = arr[j]; arr[j] = tmp; } } } System.out.println(Arrays.toString(arr)); } public static void main(String[] args){ Sort sort = new Sort(); int[]arr1={7,4,1,2}; sort.BubbleSort(arr1); } }
一言以蔽之:从第一个遍历到最后一个,遍历其中某个的时候,拿当前遍历的数字和排在它后面所有的值挨个比较一遍,如果当前的比后面的大,就交换。