排序算法
大约 1 分钟
排序方式 | 时间复杂度(平均) | 时间复杂度(最坏) | 时间复杂度(最好) | 空间复杂度 | 稳定性 |
---|---|---|---|---|---|
插入排序 | 稳定 | ||||
希尔排序 | 不稳定 | ||||
选择排序 | 不稳定 | ||||
堆排序 | 不稳定 | ||||
冒泡排序 | 稳定 | ||||
快速排序 | 不稳定 | ||||
归并排序 | 稳定 | ||||
计数排序 | 稳定 | ||||
桶排序 | 稳定 | ||||
基数排序 | 稳定 |
冒泡排序
TS
ArrayList.prototype.bubbleSort = function () {
let flag = true
for (let i = 0; i < this.val.length - 1; i++) {
for (let j = 1; j < this.val.length - i; j++) {
if (this.val[j - 1] > this.val[j]) {
[this.val[j - 1], this.val[j]] = [this.val[j], this.val[j - 1]]
flag = false
}
}
if (flag) break
}
}
Java
int[] arr = { 34, 54, 3, 2, 84, 65, 7, 19, 5, 76, 67 };
for (int i = 0; i < arr.length - 1; i++) {
boolean flag = true;
for (int j = 1; j < arr.length - i; j++) {
if (arr[j - 1] > arr[j]) {
int temp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = temp;
flag = false;
}
}
if (flag) {
break;
}
}