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 + -
显示快捷键?