void shellsort(int A[], int len)
{
int j;
int increment = len;
do{
increment = increment/3+1;
printf("increment = %d\n", increment);
for(int i = increment; i < len; i++){
if(A[i] < A[i-increment]){
int tmp = A[i];
for(j = i-increment; j >= 0 && A[j] >= tmp; j -= increment)
A[j+increment] = A[j];
A[j+increment] = tmp;
}
}
}while(increment >1);
}
SHELL SORT
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 前言 希尔排序算法其本质就是插入排序,是直接插入排序算法的一种改进,因 D.L shell 于 1959 年提出而...
- 一,Shell Sort简介 希尔排序通过增量将数组中的元素分组,对分组中的所有元素进行直接插入排序操作。通过不断...
- 声明:算法和数据结构的文章均是作者从github上翻译过来,为方便大家阅读。如果英语阅读能力强的朋友,可以直接到s...
- 一、希尔排序思想 希尔排序是基于插入排序的快速的排序算法,先分组后对每组进行直接插入排序,再分组再直接执行插入排序...