一.冒泡排序
- 時間複雜度:算的是運行的次數。
- 空間複雜度:算的是佔用的內存。
想詳細瞭解,可點擊該鏈接:
冒泡排序:通過從第一個位置開始做交換,大的往後排,小的往前排,一直到最後。以此類推,每次遍歷都是幹這個事。
動畫:
需要遍歷的次數 = 總長度 - 1。
//冒泡排序
let upSort = (arr) => {
//控制遍歷多少次
for(let i = arr.length - 1, tmp; i > 0; i--) {
//控制遍歷到哪個邊界
for(let j = 0; j < i; j++) {
tmp = arr[j];
if (tmp > arr[j + 1]) {
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
};
return arr;
}
console.log(upSort([4, 1, 2, 14, 8, 56])); //[1, 2, 4, 8, 14, 56]