2015年初级软考辅导:数据结构算法:c语言排序算法
发布时间:2010/3/13 14:32:42 来源:城市学习网 编辑:MOON
希尔(Shell)排序法
/* Shell 排序法 */
#include
void sort(int v,int n)
{
int gap,i,j,temp;
for(gap=n/2;gap0;gap /= 2) /* 设置排序的步长,步长gap每次减半,直到减到1 */
{
for(i=gap;i
{
for(j=i-gap;(j = 0) && (v[j] v[j+gap]);j -= gap ) /* 比较相距gap远的两个元素的大小,根据排序方向决定如何调换 */
{
temp=v[j];
v[j]=v[j+gap];
v[j+gap]=temp;
}
}
}
}