本帖最后由 瑞雪雄起 于 2015-10-1 00:11 编辑
public class HashSort {
public static void hashSort(int[] array)
{
int N=array.length;
int gap=N/2;
while(gap>=1)
{
for(int T=0;T<gap;T++)
for(int I=T;I<N;I+=gap)
{
int temp=array[I];
int V=I-gap;
while(V>=0&&array[V]>temp)
{
array[V+gap]=array[V];
V-=gap;
}
array[V+=gap]=temp;
}
gap/=2;
}
}
}
该算法还有改进之处,请踊跃指出
|
|