// -----------
// Select.java
// -----------

import java.util.Arrays;

final class Select {
    /**
     * O(1) in space
     * O(n) in time
     */
    public static void eval (long[] a, int b, int e) {
        assert b <= e;
        if (b == e)
            return;
        Swap.eval(a, b, MinElement.eval(a, b, e));}}

final class SelectTest {
    public static void main (String[] args) {
        System.out.println("Select.java");

        final long[] a = {5, 4, 3, 2, 1};
        Select.eval(a, 1, 4);
        assert Arrays.equals(a, new long[] {5, 2, 3, 4, 1});

        System.out.println("Done.");}}


syntax highlighted by Code2HTML, v. 0.9.1