冒泡排序:和每一个比较,如果比后面大则交换,最终每一趟结果是最大值会沉到后面。
时间复杂度O(n2),最佳情况是已排好序只比较n-1次,不用交换。
int[] bubbleSort(int[] a) {
//每个都进行冒泡(一个一个来)
for (int i = 0; i < a.length; i++) {
//和前n-i个比较,把最大的数沉下去
int temp;
for (int j = 0; j < a.length - i - 1; j++) {
if (a[j] > a[j + 1]) {
//交换
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
return a;
}