|
Groovy example source code file (heapsort.groovy)
The Groovy heapsort.groovy source code/* The Computer Language Shootout http://shootout.alioth.debian.org/ contributed by Jochen Hinrichsen */ public static final long IM = 139968 public static final long IA = 3877 public static final long IC = 29573 public static long last = 42 def gen_random(double max) { max * (last = (last * IA + IC) % IM) / IM } def heapsort(int n, double[] ra) { int l, j, ir, i double rra l = (n >> 1) + 1 ir = n while (true) { if (l > 1) { rra = ra[--l] } else { rra = ra[ir] ra[ir] = ra[1] if (--ir == 1) { ra[1] = rra return } } i = l j = l << 1 while (j <= ir) { if (j < ir && ra[j] < ra[j+1]) { ++j } if (rra < ra[j]) { ra[i] = ra[j] j += (i = j) } else { j = ir + 1 } } ra[i] = rra } } def N = (args.length == 0) ? 1000 : args[0].toInteger() def nf = java.text.NumberFormat.getInstance() nf.setMaximumFractionDigits(10) nf.setMinimumFractionDigits(10) nf.setGroupingUsed(false) double []ary = (double[]) java.lang.reflect.Array.newInstance(double.class, N+1) for (i in 0..<N) { ary[i] = gen_random(1) } heapsort(N, ary) println nf.format(ary[N]) // EOF Other Groovy examples (source code examples)Here is a short list of links related to this Groovy heapsort.groovy source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.