0

我正在尝试使用 Selectionsort 和泛型对一组数字进行排序,但我感到迷茫。我有一个带有公共 T[] 排序和公共无效交换的接口。我必须修复什么才能返回排序的整数数组?

我的代码是:

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 回答