#include <stdio.h>
#include <stdlib.h>
void shellsort( int *array, int n);
int main()
{
//int N=10;
int N;
int i=0,j=0,increment=0;
//int array[10]={49,38,65,97,76,13,27,50,2,8,};
int array[100]={0};
int change[20]={0};
int k=0;
//int check=0;
scanf("%d",&N);//即将输入N个字符
for(i=0;i<N;i++)
{
scanf("%d,",&array[i]);
}
输出方面
if(N==1)//只有一个数,输出它本身
{
printf("%d,",array[0]);
}
else
{
shellsort(array, N);
}
return 0;
}
void shellsort( int *array, int n)
{
int i,j, increment;
int tmp;
for(increment=n/2; increment>0; increment/=2)
{
for(i=increment; i<n;i++)
{
for(j=i;j>=increment;j-=increment)
{
if(array[j]>array[j-increment])
{
tmp=array[j];
array[j]=array[j-increment];
array[j-increment]=tmp;
}
else
{
break;
}
}
}
for(int k=0;k<n;k++)
{
printf("%d,",array[k]);
}
printf("\n");
}
}
shellsort希尔排序
最新推荐文章于 2024-06-11 10:57:52 发布