#include #define kCount 10int main(){ int array[kCount] = {92, 77, 67, 8, 6, 84, 55, 85, 43, 67}; for (int i = 1; i<kCount; i++) { int temp = ...
分类:
编程语言 时间:
2014-10-17 01:25:43
阅读次数:
336
C语言实现简单插入算法:
插入排序的基本思想:
经过i-1遍处理后,a1
,a2
,…,a
i-1己排好序。第i遍处理仅将ai
插入a
1,a2
,…,a
i-1的适当位置,使得a1
,a2
,…,ai
成为有序序列。
首先比较ai
和ai-1
,如果ai-1
≤ ai
,则a1
,a2
,…,ai
已经是有序序列,第i遍处理就结束了;...
分类:
编程语言 时间:
2014-10-15 11:46:30
阅读次数:
164
#includeusing namespace std;//插入排序 void insert_sort(int *array,int n){ for(int i=1;i<n;i++) { int k=i-1; int temp =array[i]; ...
分类:
编程语言 时间:
2014-10-12 17:30:58
阅读次数:
185
1、插入排序 1)算法简介 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从 后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从.....
分类:
编程语言 时间:
2014-10-08 13:55:35
阅读次数:
247
插入排序的算法复杂度为O(n2),但假设序列为正序可提高到O(n),并且直接插入排序算法比較简单,希尔排序利用这两点得到了一种改进后的插入排序。一. 算法描写叙述希尔排序:将无序数组切割为若干个子序列,子序列不是逐段切割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序;然后再选择一个更小.....
分类:
其他好文 时间:
2014-10-05 18:35:58
阅读次数:
197
插入排序算法的基本思路:对于给定的数组a[0...n](数组元素为n,下标从0开始,最大值为n-1),逐个地将后续元素插入到已经排好序的数组中。 插入排序的简单实现如下: 1 /* 2 * 插入排序算法 3 * a:带排序的数组;n:数组中元素的个数 4 */ 5 void insert...
分类:
其他好文 时间:
2014-10-02 15:06:33
阅读次数:
276
取一个小于n的整数作为第一个增量,把序列分组。所有距离为增量的倍数的元素放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量(第二个= 0 && guard = 1){ shellInsertSort(elements, di); //每次减半,最后增量必须为1 di =...
分类:
编程语言 时间:
2014-09-28 21:25:25
阅读次数:
187
将n个元素的数列分为已有序和无序两个部分。数列:{a1,a2,a3,a4,…,an}将该数列的第一元素视为有序数列,后面都视为无序数列:{{a1},{a2,a3,a4,…,an}}将无序数列中的元素插入到有序数列的对应位置,插入前通过比大小的方式找到其在有序数列中的对应位置。代码:以下代码在node...
分类:
编程语言 时间:
2014-09-28 16:03:12
阅读次数:
213
直接插入排序适合记录数比较少、给定序列基本有序的情况, 通常,插入排序呈现出二次排序算法中的最佳性能...
分类:
移动开发 时间:
2014-09-18 09:50:53
阅读次数:
233