Prerequisite
这么多年,第一次遇上这么长的假期。转眼间已经出来工作两年了,也应该写写文章,多学习多总结。
冒泡排序 Bubble Sort
冒泡排序,时间复杂度 O(n²)。
function bubbleSort(a) {
for (let i = a.length - 1; i > 0; i -= 1) {
for (let j = 0; j < i; j += 1) {
if (a[j] > a[i]) {
[a[j], a[i]] = [a[i], a[j]];
}
}
}
return a;
}
快速排序 Quick Sort
快速排序,时间复杂度O (nlogn)。选出一个基准值,然后通过交换进行排序。
function quickSort(a, low, heigh) {
if (low >= heigh) return a;
let temp = a[low];
let i = low;
let j = heigh;
while (i < j) {
while (i < j && a[j] >= temp) j -= 1;
a[i] = a[j];
while (i < j && a[i] <= temp) i += 1;
a[j] = a[i];
}
a[i] = temp;
quickSort(a, low, i - 1);
quickSort(a, i + 1, heigh);
return a;
}
最后
武汉加油,希望疫情尽快得到控制和治疗。