摘要: ###原理: 每次排序都设置一个low和high ,当前项为x,首先从low开始向后搜索找到一个大于x的记录,然后交换,再从high向前搜索找到小于x的记录,然后交换。一直重复着两步,知道low=high位置,再分别对两个子序列排序,直到每个子序列只含一个记录为止 性能: ###代码如下: let 阅读全文
posted @ 2021-01-07 17:27 黑黑哈哈 阅读(187) 评论(0) 推荐(0) 编辑
摘要: ###原理: 每次循环,都比较相邻两个元素,每次都把最大的元素往后冒泡,每最终完成排序 ###性能: ###代码如下: let arr = [1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15, 8, 16]; function bubble(arr) { 阅读全文
posted @ 2021-01-07 15:21 黑黑哈哈 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 原理: 每次都是从无序的序列中选择最小或是最大的记录,并加入在有序子序列中。 简单排序和直接插入排序原理很相似,但是元素移动的次数却不相同,直接插入是每次移动元素,知道找到合适的位置才结束,简单排序是找到最小或是最大的元素,最后才去交换,每一轮只有两个元素交换 性能: ###代码如下: let ar 阅读全文
posted @ 2021-01-07 14:15 黑黑哈哈 阅读(103) 评论(0) 推荐(0) 编辑
摘要: ###基本原理: 根据增量来分组,分组之后进行直接插入排序,当基本有序的时候,再对文件进行一次直接插入排序,主要是按增量分组,且最后一次增量必须为1 性能分析 let arr = [1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15, 8, 16]; fun 阅读全文
posted @ 2021-01-07 11:02 黑黑哈哈 阅读(69) 评论(0) 推荐(0) 编辑