Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)
Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)#! /usr/bin/env python3
#! encoding: utf-8
from random import randint
# Формируем одномерный массив длиной 100 элементов
# с числами от 0 до 100
a = [ randint(0,100) for _ in range(100) ]
_min = a[0]; mn = 0
_max = a[0]; mx = 0
# Просматриваем все элементы массива
for i in range( len(a)) :
# Если находим что-то меньшее, чем найденное раньше,
if a[i] < _min :
# Запоминаем этот элемент
_min = a[i]
# И его порядковый номер тоже запоминаем
mn = i
# Точно так же поступаем с найденным большим элементом
elif a[i] > _max:
_max = a[i]
mx = i
print('Массив такой: ', a)
print('Минимальный элемент - ', _min)
print('Максимальный элемент - ', _max)
if mn < mx :
print('Минимальный ', end='')
else:
print('Максимальный ', end='')
print('элемент встретился раньше')
Объяснение: