摘要:
思想 这是一种分治算法。将原始数组切分成较小的数组,直到每个小数组只有一项,然后在将小数组归并为排好序的较大数组,直到最后得到一个排好序的最大数组。 代码 js function mergeSort(arr) { const length = arr.length; if (length === 1 阅读全文
摘要:
思想 每次在现有已经排好的数组的基础上排入一个新的数组项。 先把第一项看做是已经排好的,第二项应该排在第一项之前还是之后呢?当前两项排好后,第三项应该排在这已排好的两项的之前还是之后还是中间呢?当前三项排好后,第四项应该排在这已排好的三项中的什么位置呢?...以此类推。 在把新的一项排入已排好的数组 阅读全文
摘要:
思想 原址比较的排序算法。即首先找到数结构中的最小值并将其放置在第一位,然后找到第二小的值将其放置在第二位...以此类推。 代码 js function selectionSort(arr) { const length = arr.length; for (let i = 0; i 阅读全文
摘要:
1. 普通冒泡 思想 假设有n个数,按从小到大排序: 进行n 1次外循环,每次外循环会排好当前处理的数中的最大数,即进行第一次外循环排好所有数中的最大数,进行第二次外循环排好所有数中的次大数....直到第n 1次外循环,排好第n 1大的数,也就是倒数第二小的数,那么剩下的那个就是最小的数 在第i+1 阅读全文