一个简单的问题shell sort
本人现在在新加坡~刚学c语言,可是bt老师居然让我们做没有学过的project---shell sort,题目是
3,15,28,32,7,13,23,19
排列~(中间过程不省略),本想自己解决可是从国内带的书没有这个部分,这边的书又太贵250rmb一本又是英文~下周就要交了~感谢大哥们棒棒小弟哦!谢谢
#include<stdio.h>
void shellsort(int arrray[],int n);
void main(void)
{
int ar[8]={3,15,28,32,7,13,23,19};
int i;
shellsort(ar,8);
for (i=0;i<8;i++)
printf("%d ",ar[i]);
}
void shellsort(int r[],int n)
{
int i,j,d;
int bool;
int x;
d=n;
do
{
d=d/2;
do
{
bool=1;
for(i=0;i<n-d;i++)
{
j=i+d;
if(r[i]>r[j])
{
x=r[i];
r[i]=r[j];
r[j]=x;
bool=0;
}
}
}while(!bool);
}while(d>1);
}