///希尔排序11隔断分组排序
void Shell_Sort(int a[], int n)
{
int h,i,j,temp; h表示距离,,
for (h=n/2; h>0; h=h/2) ///分前后比较块
{
for (i=h; i<n; i++) ///换组
{
temp = a[i];
for (j=i-h; j>=0 && temp < a[j]; j-=h)//组内交换
{
a[j+h] = a[j]; ///这里模拟了插入排序
}
a[j+h] = temp;
}
}
}
///希尔排序22
void Shell_Sort(int a[], int n)
{
int h,i,j,temp; h表示距离,,
for (h=n/2; h>0; h=h/2) 分前后比较块
{
for (i=h; i<n; i++) //换组
{
for (j=i; j-h >=0 && a[j-h] < a[j]; j-=h) 组内交换
{
temp=a[j];
a[j] = a[j-h];///这里模拟了插入排序
a[j-h]=temp;
}
}
}
}
///希尔排序33
void Shell_Sort(int a[], int n)
{
int h,i,j,temp; h表示距离,,
for (h=n/2; h>0; h=h/2) 分前后比较块
{
for (i=h; i<n; i++) 换组
{
for (j=i-h; j>=0 && a[j+h] < a[j]; j-=h) //组内交换
{
temp=a[j];
a[j] = a[j+h];///这里模拟了插入排序
a[j+h]=temp;
}
}
}
}
希尔排序
最新推荐文章于 2020-06-27 15:27:58 发布