我正在尝试创建一个选择排序方法来按降序排列值。此代码按升序排列它们。我如何交换此代码以其他方式排列它。
public void selectionSort()
{
int n = data.length;
for(int index = 0; index < n-1; index++)
{
int min_idx = index;
for(int j = index+1; j < n; j++)
if(data[j] < data[min_idx])
min_idx = j;
int temp = data[min_idx];
data[min_idx] = data[index];
data[index] = temp;
}
}
最佳答案
目前我能想到两种方法。我没有尝试过,但值得一试。
将所有数字乘以 -1 并应用原始选择排序进行升序排序。排序完成后,将所有数字乘以 -1 以返回 originwl 数字,但现在它们按降序排序。
尝试更改比较条件 if(数据[j] < 数据[min_idx])
到 if(数据[j] >= 数据[min_idx])
如果这些方法有问题,请告诉我。
关于java - 如何反转SelectionSort以降序显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53138907/