0

Selectionsort とジェネリックを使用して数値の配列をソートしようとしていますが、道に迷っています。public T[] sort と public void swap を備えたインターフェイスがあります。ソートされた整数の配列を返すには何を修正する必要がありますか?

私のコードは次のとおりです。

package sorting;

import java.lang.reflect.Array;

public class Selectionsort<T extends Comparable<T>> implements
    ISelectionsort<T> {

private T[] array;

@Override
public T[] sort(T[] array) {
    for (int i = 0; i < array.length; i++) {
        int k = i;
        for (int j = 0; j < array.length; j++) {
            if ((array[j].compareTo(array[k]) == -1))
                k = j;
        }
        if (k != i)
            swap(array, i, k);
    }

    return null;
}

@Override
public void swap(T[] array, int i, int j) {
    T tmp = array[i];
    array[i] = array[j];
    array[j] = tmp;

}

public static void main(String[] args) {
    Selectionsort<Integer> ss = new Selectionsort<Integer>();
    Integer[] array = { 4, 2, 9, 8 };

    System.out.println(ss.sort(array));
}
}
4

1 に答える 1

2

jから開始k:

for (int j = k; j < array.length; j++) {

同じ配列を返します:

return array;

そして次のように印刷します:

    ss.sort(array);
    for (int i = 0; i < array.length; i++) {
        System.out.println(array[i]);
    }
于 2013-05-09T13:09:27.873 に答える