英勇青铜 算法思路 两个数组:待排序数组 和有序数组 从待排序数组中取一个数 依次和有序数组中每个数比较 小于元素 时 先将位置 及之后的元素向后移动一位 再插入到位置 上 一直都不小于, 则直接插入到 上 注意 和`orderArray[j]`比较时: 从左向右,条件 如果加上等于,可以少比较一次 ...
分类:
编程语言 时间:
2018-07-20 16:53:12
阅读次数:
133
摘要: 所谓排序,就是根据排序码的递增或者递减顺序把数据元素依次排列起来,使一组任意排列的元素变为一组按其排序码线性有序的元素。本文将介绍八种最为经典常用的内部排序算法的基本思想与实现,包括插入排序(直接插入排序,希尔排序)、选择排序(直接选择排序,堆排序)、交换排序(冒泡排序,快速排序)、归并排序 ...
分类:
编程语言 时间:
2018-07-15 21:13:45
阅读次数:
210
一、直接插入排序的定义 直接插入排序就是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。 二、直接插入排序的实现 三、直接插入排序的 ...
分类:
编程语言 时间:
2018-07-12 13:15:46
阅读次数:
109
(1)希尔排序: 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含 ...
分类:
编程语言 时间:
2018-07-04 22:55:55
阅读次数:
187
常见的排序算法:1.冒泡排序;2.简单选择排序;3.直接插入排序;4.希尔排序;5.归并排序;6.快速排序;7.堆排序。 ...
分类:
编程语言 时间:
2018-07-03 15:07:47
阅读次数:
167
前言 想象一种现实场景,几个人打扑克牌,在接牌过程中,假设按照扑克牌上的数字大小进行摆牌,假设手中已经有若干张扑克牌(按照牌面大小排好次序),那么下次接到牌之后,我们会把刚接到的牌插入到手中已有的牌序列中的"合适"位置,现实中的这种"接牌"思路,就是我们今天要说的"插入思想" 直接插入排序算法 给定 ...
分类:
编程语言 时间:
2018-07-03 11:58:26
阅读次数:
162
直接插入排序法就像我们打扑克牌时整理牌面一样,先让我们脑补一下我们打牌的过程。 首先摸了一张6, 接着摸到一张4,比6小,插到6的前面; 又摸到一张7,比6大,插到6的后面; 又摸到一张5,比6小,比4大,插到4和6中间; 。。。。 以上的过程,其实就是典型的直接插入排序,每次将一个新数据插入到有序 ...
分类:
编程语言 时间:
2018-07-01 20:57:49
阅读次数:
168
1、所有排序类型 直接插入排序 2路插入排序 希尔排序 快速排序 简单选择排序 树形选择排序 堆排序 归并排序 多关键字排序 链式基数排序 2、直接插入排序 3、2路插入排序 4、希尔排序 5、快速排序 6、简单选择排序 7、树形选择排序 8、堆排序 9、归并排序 10、多关键字排序 11、链式基数 ...
分类:
编程语言 时间:
2018-06-27 00:53:34
阅读次数:
177
第八章《排序》 一、直接插入排序 //(1)时间复杂度分析: // ①最坏情况(整个序列逆序):O(n²) // ②最好情况(整个序列有序):O(n) // ③平均时间复杂度:O(n²) //(2)空间复杂度分析: // ①:O(1) 二、折半插入排序 三、希尔排序 四、冒泡排序 五、快速排序 六、 ...
分类:
编程语言 时间:
2018-06-20 22:31:56
阅读次数:
248
C语言代码实现: 运行结果: Python 代码实现: 运行结果: ...
分类:
编程语言 时间:
2018-06-20 00:55:17
阅读次数:
175