冒泡排序的思想:
- 两个数值比较,假如规则为升序,那吗将两个值的大值放到第二位,小值放在第一位
- 遍历结束,数组最大值出现在数组最后
- 重复遍历,将剩余值依照第一步与第二步进行
时间复杂度 O(n²) 空间复杂度O(n)
/*** 冒泡排序*/function insertion_sort(arr) {for(let l = 0; l < arr.length; l++) {for (let i = 0; i < arr.length; i++) {/*** 当前位于下一位进行比较,那个大那个在后面,第一轮循环将最大值放到数组最后一位*/if (arr[i] > arr[i + 1]) {swapPosition(arr, i, i + 1);} else {break;}}}return arr;}/*** 交换数组相邻的位置*/function swapPosition(arr, cur, next) {const nextValue = arr[next];arr[next] = arr[cur]arr[cur] = nextValue;}const arr = [5,4,3,1,2];console.log(insertion_sort(arr));
