第二课时插入选择排序
上一节
下一节
置的增量是dk,不是1; for ( i=dk+1; i<=L.length; ++i ) if (L.r[i].key<L.r[i-dk].key) { // 需将L.r[i]插入有序增量子表 L.r[0] = L.r[i]; //暂存在L.r[0] for(j=i-dk;j>0&&L.r[0].key<L.r[j].key;j-=dk) } // if } // ShellInsert void ShellSort (SqList &L, int dlta[], int t) {// 按增量序列 dlta[0..t-1] 对顺序表L作希尔排序 for(k=0; k<t; ++k)// 一趟增量为 dlta[k] 的插入排序 } // ShellSort 交换排序 指在排序过程中,主要是通过待排序记录序列中元素间关键字的比较,与存储位置的交换来达到排序目的的一类排序方法。 |