我有整数值存储在array.Sort中并显示它们w。out disraranging数组内的值

时间:2014-12-05 06:30:41

标签: java arrays sorting

我想创建一个允许用户输入数字x的程序。数字x将确定用户输入的整数数量。允许用户根据所需的数字输入输入整数,并将它们存储在数组中。另外,显示数字的降序和索引,而不会破坏原始数组位置中的值。

我已经知道如何按降序对它们进行排序,但这需要在数组中移动值。从输入存储在数组中的值开始索引到0到array.length-1之前,我不按降序排列保留索引的方法。

Example:


Enter a number: 4
Enter 4 numbers:
8  
13  
2
15  

Output:     
15 at array[3]
13 at array[1]
8 at array[0]
2 at array[2]

1 个答案:

答案 0 :(得分:1)

试试这个:

public static void sortArray () {       
    Scanner in = new Scanner(System.in);
    System.out.print("Enter a number: ");
    int n = in.nextInt();
    int lst[][]  = new int[n][2];
    System.out.println("Enter " + n + " numbers:");
    for(int i=0;i<n;i++) {
        lst[i][0]=in.nextInt();
        lst[i][1]=i;
    }
    for (int i=0;i<n-1;i++)
        for (int j=i+1;j<n;j++)
            if (lst[i][0]<lst[j][0]) {
                int[] tmp = lst[i];
                lst[i]=lst[j];
                lst[j]=tmp;
            }
    for(int i=0;i<n;i++) {
        System.out.println(lst[i][0]+" at array ["+lst[i][1]+"]");
    }                        
}