public class ShellSort {
public static void main(String[] args) {
/*使用折半插入法进行排序*/
int array[]=new int[]{9,8,7,6,5,4,3,2,1}; //把待排序的数存放在数组中
int n=array.length;
int i,j,d,temp;
for(d=n/2;d>=1;d=d/2){//计算每趟的增量,并逐渐缩小增量
/*子序列相隔增量d的数据元素进行直接插入排序*/
for(i=d;i<n;i++){
temp=array[i];
for(j=i-d;j>=0&&temp<array[j];j=j-d)
{
array[j+d]=array[j];
}
array[j+d]=temp;
}
/*输出每趟排序的结果*/
for(i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
System.out.print("\n");
}
}
}
希尔排序代码实现
最新推荐文章于 2023-10-04 13:17:10 发布