【发布时间】:2021-12-29 17:09:43
【问题描述】:
我做了以下使用选择排序对数组进行排序的方法:
public T[] selection(T[] arr)
{
T temp, min;
for(int i = 0; i < arr.length-1; i++)
{
for(int j = i + 1; j < arr.length; j++)
{
min = arr[i];
if(min.compareTo(arr[j]) > 0)
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
return arr;
}
我无法将我的算法与冒泡排序算法区分开来。我的排序方法是否通过了选择排序方法?
【问题讨论】:
-
这看起来确实像冒泡排序。如果您想要选择排序,j 循环应该找到最小值的位置,并且在 j 循环结束后,您进行一次交换以将该元素置于底部。
-
如果你是升序排序,你可以简单地使用
Arrays.sort(arr),导入java.util.Arrays -
@snd 谢谢,但我已经知道了。我的主要目标是自己制作所有排序算法的方法。
标签: java selection-sort