我正在尝试使用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/