数据结构之希尔排序
【摘要】 1 希尔排序
在要排序的一组数中,根据某一增量分为若干子序列,并对子序列分别进行插入排序。 然后逐渐将增量减小,并重复上述过程。直至增量为1,此时数据序列基本有序,最后进行插入排序。
2 代码实现
#include <stdio.h> void print(int* data, i...
1 希尔排序
在要排序的一组数中,根据某一增量分为若干子序列,并对子序列分别进行插入排序。
然后逐渐将增量减小,并重复上述过程。直至增量为1,此时数据序列基本有序,最后进行插入排序。
2 代码实现
-
#include <stdio.h>
-
-
void print(int* data, int len)
-
{
-
for (int i = 0; i < len; i++)
-
printf("%d\t", data[i]);
-
printf("\n");
-
}
-
-
void shellSort(int* data, int length)
-
{
-
if (NULL == data || length < 0)
-
{
-
printf("NULL == data or length < 0\n");
-
return;
-
}
-
int space = length >> 1;
-
while (space)
-
{
-
//总循环需要执行的个数
-
for (int i = 0; i < space; ++i)
-
{ //步长中间每走一个ÿ
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/102908527
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)