希尔排序(上)
Posted 霍同学日记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了希尔排序(上)相关的知识,希望对你有一定的参考价值。
前文讲过了直接插入排序,现在基于“模块化”分析的思想,做一些优化,这大概就是希尔排序的基本概念了(shellsort)
把一个长的字符串拆分成几组,每组的长度即人为设定,然后每个小组内使用直接插入排序,最后得到的序列即基本有序。
不废话上代码:
void shellsort(sqlist *L)
{
int i , j;
int increment = L→length;
do
{
increment = increment /3+1;
for ( i = increment +1;i <= L→length ; i++)
{
if (L→r[i] < L→r[i-increment])
{
L→R[0] = L→r[i] ;
for (j = i -increment;j > 0 && L→r[0] < r[j];j-=increment)
L→r[j+increment] = L→r[j];
L→r[j+increment] = L→r[0];
}
}
}
while (incremeng>1)
}
以上是关于希尔排序(上)的主要内容,如果未能解决你的问题,请参考以下文章