testsorts.java

来自「国外的数据结构与算法分析用书」· Java 代码 · 共 103 行

JAVA
103
字号
import java.util.Vector;

public class TestSorts
{
	static int ranSeed = 135793;
	
	public static void testSelectionSortRec()
	{
		int array[] = new int[10];
		java.util.Random r = new java.util.Random(ranSeed);
		for(int i = 0; i < array.length; i++)
			array[i] = r.nextInt();
		(new SelectionSortRec()).selectionSortRec(array, 0);
		System.out.println("Selection sort recursion");
		for(int i = 0; i < array.length; i++)
			System.out.println(array[i]);
		System.out.println("\n");
	}


	public static void testRadix()
	{
		int[ ] array = new int[13];
		array[0] = 42; array[1] = 23; array[2] = 74; array[3] = 11; array[4] = 65;
		array[5] = 57; array[6] = 194; array[7] = 36; array[8] = 99; array[9] = 87;
		array[10] = 70; array[11] = 81; array[12] = 61;
		(new RadixSort()).radixSort(array);
		System.out.println("Radix sort");
		for(int i = 0; i < array.length; i++)
			System.out.println(array[i]);
		System.out.println("\n");
	}


	public static void testAddressCalc()
	{
		int array[] = new int[13];
		array[0] = 42; array[1] = 23; array[2] = 74; array[3] = 11; array[4] = 65;
		array[5] = 57; array[6] = 94; array[7] = 36; array[8] = 99; array[9] = 87;
		array[10] = 70; array[11] = 81; array[12] = 61;
		 (new AddressCalculationSort()).addressCalculationSort(array);
		System.out.println("Address calculation");
		for(int i = 0; i < array.length; i++)
			System.out.println(array[i]);
		System.out.println("\n");
	}


	public static void testQuickSort()
	{
		int array[] = new int[30];
		java.util.Random r = new java.util.Random(ranSeed);
		for(int i = 0; i < array.length; i++)
			array[i] = r.nextInt();
		(new QuickSort()).quickSort(array);
		System.out.println("Quick sort");
		for(int i = 0; i < array.length; i++)
			System.out.println(array[i]);
		System.out.println("\n");
	}


	public static void testMerge()
	{
		int array[] = new int[10];
		java.util.Random r = new java.util.Random(ranSeed);
		for(int i = 0; i < array.length; i++)
			array[i] = r.nextInt();
		 (new MergeSort()).mergeSortRecursive(array);
		System.out.println("Merge sort");
		for(int i = 0; i < array.length; i++)
			System.out.println(array[i]);
		System.out.println("\n");
	}


	public static void testHeap()
	{
		int array[] = new int[10];
		java.util.Random r = new java.util.Random(ranSeed);
		//for(int i = 0; i < array.length; i++)
		//	array[i] = r.nextInt();
		array[0] = 42; array[1] = 23; array[2] = 74; array[3] = 11; array[4] = 65;
		array[5] = 58; array[6] = 94; array[7] = 36; array[8] = 99; array[9] = 87;
		 (new Heap()).heapSort(array);
		System.out.println("Heap sort");
		for(int i = 0; i < array.length; i++)
			System.out.println(array[i]);
		System.out.println("\n");
	}


	public static void main(String args[])
	{
		testSelectionSortRec();
		testMerge();
		testQuickSort();
		testHeap();
		testRadix();
		testAddressCalc();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?