冒泡排序
- 排序原理图
代码
package Sort;
public class BubbleSort {
public void sort(int[] arr) {
// 增加冒泡优化
boolean swapped;
int tmp;
// 最多执行 len -1次
for (int i = 1; i < arr.length - 1; i--) {
swapped = false;
for (int j = 1; j < arr.length; j++) {
if (arr[j - 1] > arr[j]) {
tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
swapped = true;
}
}
// 如果此轮没有发生交换 说明 已经都是有序的了
if (!swapped)
return;
}
}
}