Problem 120 Selection Sort How to find index?

Back to General discussions forum

V_Mischenko     2017-05-09 20:38:42

I've trayed to use some realizes of Selection Sort. But can't find index. list.add(j); ? wrong list.add(len-1-j); ? wrong too

This is my code:

import java.util.ArrayList;

import java.util.Scanner;



public class SelectionSort {
static int [] indexMaxAr; // индексы максимумов
static ArrayList<Integer> list = new ArrayList<>();

public static void main(String[] args) {
    int[] tosortAr;     // массив для сортировки

    try (Scanner in = new Scanner(System.in)) 
    {
        // ввести сколько элементов в массиве
        int numTr = Integer.parseInt(in.nextLine());
        tosortAr = new int[numTr];
        indexMaxAr = new int[numTr-1];//меноше на 1-предположительно

        for(int i = 0; i<numTr; i++) // ввод самого массива
            {
                tosortAr[i] = in.nextInt();
            }

        in.close();


    }

    _sort2(tosortAr); // сортировка

      // выводим отсортированные  
   /*  for(int j=0;j<tosortAr.length;j++)
         System.out.print(tosortAr[j]+" ");*/  

     //  System.out.println(); 



   for (Integer x : list) { // выводим индексы
        System.out.print(x + " ");
        }  


}


//---- Сортировка выбором
private static void _sort2(int in[]){

int len = in.length;
for ( int i=0; i < len-1; i++){  // Для очередного i
    int k = i;
              for ( int j=i+1; j<len; j++)     
              if (in[j] < in[k]){ k=j; list.add(len-1-j);   } 

     int tmp = in[k];
     in[k] = in[i]; 
     in[i] = tmp;           
              }
}                                                        

}   
Please login and solve 5 problems to be able to post at forum