直接插入排序算法,C语言代码实例详解
1.复杂性和稳定性
最坏情况:O(N^2)
最好情况:O(N^2)
平均情况:O(N^2)
稳定性:稳定排序
2。流程简介
直接插入排序是将新数据插入到已排序数组中的行为。基本的排序方法是:在每一步中,根据排序代码的大小,将要排序的元素插入到先前已排序的元素集合的适当位置,直到所有元素都插入完毕。
您可以选择不同的方法在排序后的数据表中查找插入点。根据搜索方法的不同,插入排序方法有很多种。下面是直接插入排序。
1。始终从无序列表中删除第一个元素并将其放置到有序列表的正确位置,以便有序列表保持有序。
2。第一遍比较前两个数字,然后将第二个数字按大小插入到有序列表中;
3。第二遍将第三个数据与向后向前扫描的前两个数字进行比较,将第三个数字放入清除表中;
4。轮流下去,扫描完成后完成整个分拣过程的(N-1)次扫描。
直接插入排序由两层嵌套循环组成。外层循环识别并确定要比较的值。内循环决定了要比较的值的最终位置。直接插入排序将要比较的值与前一个值进行比较,以便外循环从第二个值开始。如果当前值大于待比较值,则继续循环比较,直到找到小于待比较值的值,并将待比较值放入下一个位置,结束循环。?三趟
插入红色数据,形成一个逐渐有序的数组
4。相关代码
| 123456789101112131415161718192021222324 | #includeusing namespace std;void insert_sort(inta[],int n) { int i,j; 对于( i=1 ; i |
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
上一篇:快速排序算法,C语言代码实例详解 下一篇:希尔排序算法,C语言示例代码详解
code前端网