Back to General discussions forum
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;
}
}
}