我正在尝试创建一个执行选择排序但向后的程序。如,找到最大的数字并将其与最后一个交换。我不知道为什么这不起作用。
根据评论更新代码。
import java.util.Scanner;
public class Problem20 {
public static void main(String[] args){
int data[] = new int[10];
Scanner scan = new Scanner(System.in);
System.out.print("Please enter 10 numbers: ");
for (int i = 0; i < 10; i++)
{
data[i] = scan.nextInt();
}
sortBig(data);
}
public static void sortBig(int[] data){
int i, j, maxIndex, tmp;
for (i = data.length - 1; i >= 0; i--)
{
maxIndex = i;
for (j = i-1; j >=0; j--)
if (data[j] > data[maxIndex])
maxIndex = j;
if (maxIndex != i)
{
tmp = data[data.length - 1];
data[data.length - 1] = data[maxIndex];
data[maxIndex] = tmp;
}
}
for (int r = 0; r < data.length; r++){
System.out.print(data[r] + " ");
}
}
}