我正在尝试使用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));
}
}

最佳答案

j开始k

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


返回相同的arary:

return array;


并打印如下:

    ss.sort(array);
    for (int i = 0; i < array.length; i++) {
        System.out.println(array[i]);
    }

关于java - 测试我的排序功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16462408/

10-12 12:29
查看更多