Сортировка каждого списка отдельно
Сделал выборочную сортировку, но проблема в том, что данный код сортирует весь массив по 1-ому числу, но не сортирует каждый массив отдельно. Как исправить?
def selection_sort(nums): #Сортировка выборкой
# Значение i соответствует кол-ву отсортированных значений
for i in range(len(nums)):
# Исходно считаем наименьшим первый элемент
lowest_value_index = i
# Этот цикл перебирает несортированные элементы
for j in range(i + 1, len(nums)):
if nums[j] < nums[lowest_value_index]:
lowest_value_index = j
# Самый маленький элемент меняем с первым в списке
nums[i], nums[lowest_value_index] = nums[lowest_value_index], nums[i]
# Проверяем, что оно работает
b = []
for i in range(20):
b.append([random.randint(0,1000) for _ in range(10)])
print('Массив без сортировки: ', b)
selection_sort(b)
print('Сортировка выборкой: ', b)
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Чтобы сортировка применялась к спискам второго уровня:
def selection_sort(nums): #Сортировка выборкой
# Значение i соответствует кол-ву отсортированных значений
for numlist in nums:
for i in range(len(numlist)):
# Исходно считаем наименьшим первый элемент
lowest_value_index = i
# Этот цикл перебирает несортированные элементы
for j in range(i + 1, len(numlist)):
if numlist[j] < numlist[lowest_value_index]:
lowest_value_index = j
# Самый маленький элемент меняем с первым в списке
numlist[i], numlist[lowest_value_index] = numlist[lowest_value_index], numlist[i]