public class ShellSort
{
public static void main(String args[])
{
int a[] = {10,5,10,2};
System.out.println("this is shellsort:");
ShellSort(a);
output(a);
}
public static void output(int a[])//输出
{
int i;
for(i = 0; i < a.length; i++)
{
System.out.print(a[i] + " ");
}
System.out.println();
}
public static void ShellSort(int a[])//希尔排序
{
int i,j,gap;
for(gap = a.length / 2; gap >= 1; gap = gap / 2)//步长
{
for(i = gap; i < a.length; i++)
{
int temp = a[i];//保存a[i]的值
j = i - gap;//从i = 0开始
while(j >= 0 && temp < a[j])//直接插入排序
{
a[j + gap] = a[j];
j -= gap;
}
a[j + gap] = temp;
}
}
}
}
希尔排序
最新推荐文章于 2024-06-04 00:42:18 发布
本文介绍了一种希尔排序算法的具体实现过程。通过定义一个名为ShellSort的公共类,使用逐步缩小的间隔进行插入排序,最终实现了对数组的有效排序,并通过output方法展示了排序后的结果。
18万+

被折叠的 条评论
为什么被折叠?



