Как напечатать индекс отсортированного массива вместо значения в Java? - PullRequest
0 голосов
/ 03 апреля 2020
int[] array = new int[3];
    array[0] = 3;
    array[1] = 2;
    array[2] = 4;

    for(int i = 0 ; i < array.length;i++){
        for(int j = i+1 ; j< array.length;j++){
            if(array[i] < array[j]){
                int temp = array[i];
                array[i] = array[j];
                array[j] = temp;
            }
        }
}
    for(int i=0; i<array.length; i++) {
    System.out.println(array[i]);
    }

Так, например, в этом у меня есть код, распечатывающий значения массива от самого высокого до самого низкого (4,3,2). Однако то, что я хотел бы сделать, это напечатать индекс / позицию массива вместо этого (2,0,1). Кажется, сам не могу понять это, довольно новый для этого.

1 Ответ

0 голосов
/ 04 апреля 2020
/*you can create a new class lik that :*/

    public class IndexAndValue {
      int index, value; 
     public IndexAndValue(int index ,int value){
       this.index =index ;
       this.value = value ;
     }
    }


  IndexAndValue[] array = new IndexAndValue[3];  
    array[0] = new IndexAndValue(0 ,2);
    array[1] = new IndexAndValue(1 ,2);
    array[2] = new IndexAndValue(2 ,4);

   for(int i = 0 ; i < array.length;i++){
        for(int j = i+1 ; j< array.length;j++){
            if(array[i].value < array[j].value){
                int temp = array[i];
                array[i] = array[j];
                array[j] = temp;
            }
        }
    }
    for(int i=0; i<array.length; i++) {
     System.out.println("Index : " +array[i].index +" value: " +array[i].value);
    }

/*
whene you exucte this you get :
"Index : 2 value: 4"
"Index : 0 value: 3"
"Index : 1 value: 2"
*/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...