您的位置:首页 > 运维架构 > Shell

a program a day 23 (ds,shell's sort)

2010-10-19 23:53 274 查看
/**
*shell's sort
**/
#include<stdio.h>
void shellSort(int array[],int n)
{
int gap = n,flag = 0;
int tmp,j = 0;
while(gap > 1)
{
gap /= 2;
do
{
flag = 0;
for(int i = 0;i < n - gap;i++)
{
j = i + gap;
if(array[i] > array[j])
{
tmp = array[i];
array[i] = array[j];
array[j] = tmp;
flag = 1;
}
}
}while(flag);
}
}
int main()
{
int arr[10] = {2,5,6,3,7,8,0,9,12,1};
printf("before sorted:\n");
for(int i = 0;i != 10;i++)
{
printf("%d ",arr[i]);
}
printf("\n");

shellSort(arr,10);

printf("after sorted:\n");
for(int j = 0;j != 10;j++)
{
printf("%d ",arr[j]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: