Сделал все кроме зеркальной сортировки между минимальным и максимальным элементами. Сейчас реализовал только обычную сортировку, которая сортирует массив от минимального к максимальному, но это вообще не то, а вот как сделать зеркальную сортировку только между двумя элементами???
Строго не судите, начинаю постигать язык)
/*
Дан линейный целочисленный массив, заполненный
случайными числами из диапазона [-1000; +1000]. Найти элемент с
минимальным значением и элемент с максимальным значением,
зеркально перевернуть часть массива между этими элементами.
*/
public class IntegerArra {
public static void main(String[] args) {
int indexMin = 0;
int indexMax = 0;
int[] IntegerArra = new int[10];
System.out.printf("Начальный массив: ");
for (int i = 0; i < 10; i++){
IntegerArra[i] = ( (int)(Math.random()*2001) - 1000 );
System.out.printf(IntegerArra[i] + " ");
}
int max = IntegerArra[0];
int min = IntegerArra[0];
for(int i = 0; i != IntegerArra.length; i ++){
if(IntegerArra[i] > max){
max = IntegerArra[i];
indexMax = i;//запоминаем индекс максимального
}
if(IntegerArra[i] < min){
min = IntegerArra[i];
indexMin = i;//запоминаем индекс минимального
}
}
System.out.println();
System.out.println("Минимальный элемент: " + min);
System.out.println("Максимальный элемент: " + max);
System.out.println("Положение min индекса: " + indexMin);
System.out.println("Положение max индекса: " + indexMax);
//сортировка
System.out.println(Arrays.toString(IntegerArra));
Arrays.sort(IntegerArra);
System.out.println(Arrays.toString(IntegerArra));
}
}