序列中每相邻两个数进行比较,如果顺序不对(升序/降序)就交换相邻两个数。因此数据小/大 的数据就会往一侧移动。
算法复杂度O(n2) n的2次方
public class BubbleSort { public static void main(String[] args) { int[] arr = new int[]{-1, 3, 4, 9, 1, 6, 2, 7, 3, 8, 0}; for (int i = arr.length - 1; i >= 0; i -- ) { for (int j = 0; j < i; j++) { // 比较相邻的数据 if (arr[j] > arr[j + 1]) { int temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; } } } System.out.println(Arrays.toString(arr)); } }