shellsort.java
来自「java的书上例子」· Java 代码 · 共 38 行
JAVA
38 行
public class ShellSort
{
public static void print(int[] a)
{ //输出数组数据
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
System.out.println();
}
public static void main(String[] args)
{ //生成含10个元素的数组
int a[] = new int[10];
int i; //分别生成10个随机数给数组的10个元素
for (i = 0; i < a.length; i++)
a[i] = (int)(Math.random() * 100);
print(a); //输出数组排序前数据
//进行 Shell排序
int n = a.length;
int incr = n / 2;
while (incr >= 1)
{
for (i = incr; i < n; i++)
{
int temp = a[i];
int j = i;
while (j >= incr && temp < a[j - incr])
{
a[j] = a[j - incr];
j -= incr;
}
a[j] = temp;
}
incr /= 2;
}
print(a); //输出数组排序后数据
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?