#include <stdio.h>
void shellshort(int *date, int len)
{
for(int i = 0; i < len; i++)
{
printf("%5d", date[i]);
}
printf("\n");
int d = len;
while(d > 1)
{
d = (d+1)/2;
for(int i = 0; i < len - d; i++)
{
if(date[i + d] < date[i])
{
int tmp = date[i+d];
date[i+d] = date[i];
date[i] = tmp;
}
}
for(int i = 0; i < len; i++)
{
printf("%5d", date[i]);
}
printf("\n");
}
}
int main(void)
{
int data[] = {2,5,8,4,6,9,1,5,6,0};
shellshort(data, 10);
}
希尔排序
最新推荐文章于 2025-01-21 00:21:24 发布