C语言 希尔排序
发布日期:2021-05-08 03:48:59 浏览次数:11 分类:精选文章

本文共 501 字,大约阅读时间需要 1 分钟。

基本思想:基本有序,小的关键字基本在前面,大的基本在后面,不大不小在中间。

在插入排序的基础上修改。插入排序每次步长都为1,而希尔排序引如增量序列gap,选择什么样的增量才是最好,目前还是个数学难题。

#include
void shellSort(int k[],int n){ int i,j,temp; int gap = n; do { **gap = gap/3 +1;** for(i = gap;i
0 && k[j] > temp;j-=gap) { k[j+gap]=k[j]; } k[j+gap]=temp; } } }while(gap > 1);}int main(){ int i,a[10]={-1,2,6,0,3,9,1,7,4,8}; shellSort(a,10); for(i = 1;i<10;i++) printf("%d",a[i]); printf("\n\n"); return 0;}
上一篇:C 语言顺序表查找和折半查找
下一篇:C语言 冒泡排序

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月02日 19时25分05秒