] [Описание проблемы ввода набор элементов массива, второй по величине и первая позиция элемента преобразовательный элемент, наименьший элемент и датчик положения последнего элемента
[] ввода в виде первой длины линии входного массива, второй вход линейного массива элементы (разделенные пробелами, возврат каретки, остановка)
[] Выходная форма первой линии выхода: первый наименьший номер элемента является первым элементом второго по величине числа
Вторая строка вывода: массив после того, как датчик положения
[6] Пример ввода
4 5 6 1 2 3
[42] Пример вывода
5 4 6 1 2 3
[Мышление] определяют два массива данных [] и data1 [], элементы которого такие же, начинают клавиатуры.
Data1 для сортировки, а затем нажмите на вопросы попросили, чтобы найти второй по величине, то есть, data1 в предпоследний элемент данных, если он найден, будет первым элементом в данных просто найти это место.
Заменить, что первоначальное значение, то предпоследний data1 элемента к первому элементу в данных о местоположении, то есть элементы данных заменить 0 бит.
Эта реализация переключающих элементов в массиве (там может быть некоторые проблемы), что является предметом запроса.
Аналогичным образом достичь минимального обмена с последней позиции на элементе.
Существует запись позиции второго по величине значения с минимумом: записи, которые будут размещены в верхней части программы. Это начало цикла для двух
Если программа в течение двух циклов в месте может быть неправильной.
Наконец, в случае необходимости сумма выходной бит.
[Код:]
импорт java.util.Scanner;
открытой статический СБН Сканер = новый сканер (System.in);
открытые статические Int N = sc.nextInt ();
публичный статический ИНТ х;
открытые статические INT г;
INT [] Данные = новый INT [п];
INT [] data1 = новый INT [п];
для (INT I = 0; I <п; я ++) {
данные [I] = sc.nextInt ();
data1 [I] = данные [I];
}
Arrays.sort (data1);
для (INT I = 0; я <п; я ++) {
если (данные [I] == data1 [п - 2]) {
г = я;
}
Если (данные [I] == data1 [0]) {
х = I;
}
}
для (INT I = 0; я <п, я ++) {
ЕСЛИ (Данные [I] == Datal [2 N- , ]) {
данных [I] = Данные [0];
Данные [0] = Datal [N- , 2];
BREAK;
}
}
для (INT I = 0; I <data1.length; я ++) {
если (данные [I] == data1 [0]) {
данные [I] = данные [п - 1];
Данные [п - 1] = data1 [0];
сломать;
}
}
System.out.print (х + 1 + " , «);
System.out.println (г + 1);
для (INT I = 0; я <п; I ++) {
System.out.print (данные [I] + "«);
}
}
}