【发布时间】:2015-11-30 07:28:44
【问题描述】:
我正在尝试使用数组上的可比较进行选择排序。我不确定为什么它不起作用。如果有人可以看一下并帮助我找到不起作用的地方,那就太好了!谢谢!
public static Comparable[] no = new Comparable[100];
public static Comparable[] gen1()
{
Random random = new Random();
for(int i=0;i<no.length;i++)
{
no[i] =random.nextInt();
}
return no;
}
public static Comparable[] selectionSort (Comparable no[])
{
int min;
Comparable temp;
for (int index = 0; index < no.length-1; index++)
{
min = index;
for (int scan = index+1; scan < no.length; scan++)
if (no[scan].compareTo(no[min]) < 0)
min = scan;
temp = no[min];
no[min] = no[index];
no[index] = temp;
}
return no;
}
public static void main(String[] args)
{
System.out.println("Original Array:");
System.out.println(Arrays.toString(gen1()));
System.out.println("Sorted Array:");
System.out.println(selectionSort(no));
}
【问题讨论】:
-
我刚刚试用了您的代码,排序似乎对我来说很好。我不得不将打印排序数组的行更改为
System.out.println(Arrays.toString(selectionSort(no)));这对您不起作用吗?如果没有,你能具体说明什么不起作用吗?
标签: java arrays sorting selection