算法&数据结构
呀呀音
吃好喝好,长生不老
展开
-
2021-03-03快速排序
快速排序: 找⼀个标志位,先遍历⼀次,所有个头⽐他矮的,都站左边,⽐他个头⾼的,都站右边,遍历 ⼀次,就把数组分成两部分,然后两遍的数组,递归执⾏相同的逻辑 let arr = [11, 4, 7, 5, 9] function quickSort(arr) { if (arr.length < 2) { return arr; // 递归结束的出口(没有这行代码的话会陷入死循环) } let left = [] let right = [] let flag = ar原创 2021-03-03 13:42:01 · 104 阅读 · 0 评论 -
插入排序
插入排序: 插⼊排序逻辑和冒泡类似,只不过没采⽤挨个交换的逻辑,⽽是在⼀个已经排好序的数组⾥,插⼊⼀个元素,让它依然是有序的 代码如下: let arr = [11, 4, 5, 7, 9] function insertSort(arr) { for (let i = 0; i < arr.length; i++) { for (let j = i; j > 0; j--) { console.log('>>>>>>比原创 2021-03-02 12:59:28 · 86 阅读 · 0 评论 -
冒泡排序
冒泡排序: 挨个对⽐,如果⽐右边的数字⼤,就交换位置 ,遍历⼀次,最⼤的在最右边,重复步骤,完成排序。 每一轮次比完之后,最大的都在最后一位 代码如下: const arr = [11, 4, 5, 7, 9] function bubbleSort(arr) { let len = arr.length for (let outer = len; outer >= 2; outer--) { for (let inner = 0; inner <= outer - 2; in原创 2021-03-02 11:34:02 · 73 阅读 · 0 评论