冒泡排序
1. 思想
2. 代码
根据以上分析, 将其转化为对应代码时关键点有两个:
\(step 1\) 首先遍历所有元素;
\(step 2\) 当遍历至元素\(arr[i]\)时, 比较其后面的所有元素\(arr[j](j > i)\)与\(arr[i]\)的大小。若\(arr[j]<arr[i]\), 则执行swap function。
public void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[i]) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
}
Note: 以上代码是按照升序(从小到大)排列的,如果要按降序如何改变代码?
只需将上述if (arr[j] < arr[i])改为if (arr[j] > arr[i]),也就是后者元素如果大于前者才进行交换,那么大数就排到了前面。

浙公网安备 33010602011771号