Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Сортировка (задача python). Нужна помощь.

Что нужно сделать Дан список из N чисел. Напишите программу, которая сортирует элементы списка по возрастанию и выводит их на экран.

Дополнительный список использовать нельзя. Также нельзя использовать готовые функции sorted/min/max и метод sort

Пример:

Изначальный список: [1, 4, –3, 0, 10]

Отсортированный список: [–3, 0, 1, 4, 10]

По дате
По рейтингу
Аватар пользователя
Просветленный
11ч

Вот решение задачи без использования дополнительных списков, встроенных функций sorted, sort, min, max и без создания новых структур. Реализуем сортировку "пузырьком", так как она позволяет сортировать на месте (in-place):

1
python

Копировать код

# Исходный список a = [1, 4, -3, 0, 10] # Сортировка пузырьком (по возрастанию) n = len(a) for i in range(n): for j in range(0, n - i - 1): if a[j] > a[j + 1]: # Меняем местами без создания нового списка a[j], a[j + 1] = a[j + 1], a[j] # Результат print("Отсортированный список:", a)

Аватар пользователя
1234567891011
def sort_list_in_ascending_order(nums):
    n = len(nums)
    for i in range(n):
        for j in range(0, n - i - 1):
            if nums[j] > nums[j + 1]:
                nums[j], nums[j + 1] = nums[j + 1], nums[j]
    return nums

initial_list = [1, 4, -3, 0, 10]
sorted_list = sort_list_in_ascending_order(initial_list)
print(sorted_list)
Аватар пользователя
Новичок

Решили?