摘要: 希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔... 阅读全文
posted @ 2013-07-25 19:51 jiayouwyhit 阅读(229) 评论(0) 推荐(0)
摘要: 直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 设数组为a[0…n-1]。 1. 初始时,a[0]自成1个有序区,无序区为a[1..n-1]。令i=1 2. 将a[i]并入当前的有序区a[0…i-1]中形成a[0…i]的有序区间。 3. i++... 阅读全文
posted @ 2013-07-25 16:16 jiayouwyhit 阅读(475) 评论(0) 推荐(0)
摘要: 已经在VC6下运行过。 //堆排序 //默认非叶子节点i以下的节点都已经排好次序,已经成为排好次序的最大/小堆 void HeapAdjust(int* source, int s, int t) { int temp,j; temp=source[s]; for (j=2*s+1;j=source[j]) ... 阅读全文
posted @ 2013-07-25 13:59 jiayouwyhit 阅读(242) 评论(0) 推荐(0)