попробуйте представить, как оно будет работать, в замедленном режиме.
Что, если массив не 5 чисел, а несколько миллионов, длиннющий?
Хорошо бы его проходить только 1 раз. И по пути находить минимум и максимум, и их индексы.
Как?Сначала и min и max это первое значение, а оба индекса 0.
Далее с очередным элементом массива смотрим, больше ли он нашего "максимума"? Если да, то он становится максимумом, а текущий индекс — индексом максимума. То же с минимумом. Если меньше текущего минимума, то ...
Прошли весь массив — ок, имеем минимум, максимум, их индексы.
Меняем местами элементы по индексам.