所以这里我有一个选择排序来从最低到最高排序值,我如何更改它,以便从高到低排序值?
int min;
for (int i = 0; i < array.length; i++) {
// Assume first element is min
min = i;
for (int j = i + 1; j < array.length; j++) {
if (array[j] < array[min]) {
min = j;
}
}
if (min != i) {
final int temp = array[i];
array[i] = array[min];
array[min] = temp;
}
itsATextArea.append(array[i] + "\n");
}
答案 0 :(得分:2)
怎么样:
java.util.Arrays.sort(array);
java.util.Arrays.reverse(array);
答案 1 :(得分:1)
您只需要更改代码中的标志
if (array[j] > array[max])
{
//assign it here
max = j;
}
以下是修改后代码的外观。
int max;
for (int i = 0; i < array.Length; i++)
{
// Assume first element is max
max = i;
for (int j = i + 1; j < array.Length; j++)
{
if (array[j] > array[max])
{
max = j;
}
}
if (max != i)
{
int temp = array[i];
array[i] = array[max];
array[max] = temp;
}
}