⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sorttest.java

📁 kaffe Java 解释器语言,源码,Java的子集系统,开放源代码
💻 JAVA
字号:
import java.util.*;class SortTest {  public static void main (String[] args) throws Exception {    long seed = -1;    int num = 100;    switch (args.length) {      case 2:	seed = Long.parseLong(args[1]);	/* fall through */      case 1:	num = Integer.parseInt(args[0]);	/* fall through */      case 0:	break;      default:	throw new Exception("Usage: SortTest [#elem [randseed]]");    }    final Random r = (seed == -1) ? new Random() : new Random(seed);    // Create arrays    double[] da = new double[num];    float[] fa = new float[num];    byte[] ba = new byte[num];    char[] ca = new char[num];    int[] ia = new int[num];    long[] la = new long[num];    short[] sa = new short[num];    Object[] oa = new Object[num];    // Fill arrays with random values    r.nextBytes(ba);    for (int i = 0; i < num; i++) {      da[i] = r.nextDouble();      fa[i] = r.nextFloat();      ca[i] = (char) r.nextInt();      ia[i] = r.nextInt();      la[i] = r.nextLong();      sa[i] = (short) r.nextInt();      oa[i] = new Integer(r.nextInt());    }    // Sort arrays    Arrays.sort(da);    Arrays.sort(fa);    Arrays.sort(ca);    Arrays.sort(ia);    Arrays.sort(la);    Arrays.sort(sa);    Arrays.sort(oa);    // Verify sorting    for (int i = 1; i < num; i++) {      check(da[i - 1] <= da[i]);      check(fa[i - 1] <= fa[i]);      check(ca[i - 1] <= ca[i]);      check(ia[i - 1] <= ia[i]);      check(la[i - 1] <= la[i]);      check(sa[i - 1] <= sa[i]);      check(((Comparable)oa[i - 1]).compareTo(oa[i]) <= 0);    }    // Get random keys    double dkey = r.nextDouble();    float fkey = r.nextFloat();    char ckey = (char) r.nextInt();    int ikey = r.nextInt();    long lkey = r.nextLong();    short skey = (short) r.nextInt();    Integer okey = new Integer(r.nextInt());    // Verify binary search for each key    int index;    index = Arrays.binarySearch(da, dkey);    check((index >= 0) ? da[index] == dkey :      (index == -1 || da[-(index + 2)] < dkey)	&& (index == -num - 1 || da[-(index + 1)] > dkey));    index = Arrays.binarySearch(fa, fkey);    check((index >= 0) ? fa[index] == fkey :      (index == -1 || fa[-(index + 2)] < fkey)	&& (index == -num - 1 || fa[-(index + 1)] > fkey));    index = Arrays.binarySearch(ca, ckey);    check((index >= 0) ? ca[index] == ckey :      (index == -1 || ca[-(index + 2)] < ckey)	&& (index == -num - 1 || ca[-(index + 1)] > ckey));    index = Arrays.binarySearch(ia, ikey);    check((index >= 0) ? ia[index] == ikey :      (index == -1 || ia[-(index + 2)] < ikey)	&& (index == -num - 1 || ia[-(index + 1)] > ikey));    index = Arrays.binarySearch(la, lkey);    check((index >= 0) ? la[index] == lkey :      (index == -1 || la[-(index + 2)] < lkey)	&& (index == -num - 1 || la[-(index + 1)] > lkey));    index = Arrays.binarySearch(sa, skey);    check((index >= 0) ? sa[index] == skey :      (index == -1 || sa[-(index + 2)] < skey)	&& (index == -num - 1 || sa[-(index + 1)] > skey));    index = Arrays.binarySearch(oa, okey);    check((index >= 0) ? oa[index].equals(okey) :      (index == -1 || ((Comparable)oa[-(index + 2)]).compareTo(okey) < 0)	&& (index == -num - 1 || ((Comparable)oa[-(index + 1)]).compareTo(okey) > 0));    // Re-sort first half of array in reverse    Arrays.sort(oa, 0, num / 2, new Comparator() {	public int compare(Object o1, Object o2) {	  final int val1 = ((Integer)o1).intValue();	  final int val2 = ((Integer)o2).intValue();	  return (val1 == val2) ? 0 : (val1 < val2) ? 1 : -1;	}      });    for (int i = 1; i < num / 2; i++) {      check(((Integer)oa[i - 1]).compareTo((Integer)oa[i]) >= 0);    }    for (int i = num / 2 + 1; i < num; i++) {      check(((Integer)oa[i - 1]).compareTo((Integer)oa[i]) <= 0);    }    System.out.println("Success.");  }  public static void check(boolean truth) {    if (!truth) {      throw new Error("assertion failure");    }  }}/* Expected Output:Success.*/

⌨️ 快捷键说明

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