Ваш код будет делать следующее:
arr[] = 1, 5, 2, 4, 3
// find the max from arr[0..4]
// substitute it with the index 0, if it is not of that index already
arr[] = 5, 1, 2, 4, 3
// find the max from arr[1..4]
// substitute it with the index 1, if it is not of that index already
arr[] = 5, 4, 2, 1, 3
// find the max from arr[2..4]
// substitute it with the index 2, if it is not of that index already
arr[] = 5, 4, 3, 1, 2
// find the max from arr[3..4]
// substitute it with the index 3, if it is not of that index already
arr[] = 5, 4, 3, 2, 1
заменяет его индексом i
, если он уже не является этим индексом , это оператор if
Для более длинного массива с дубликатами отметьте это Kotlin Код игровой площадки , который я создал для вас. Вы можете изменить массив при помощи sh и отследить переключение значений.