Задание 2. Определите список из 5 слов. Пройдите по списку и сравните каждый элемент со следующим. Если элемент больше следующего, поменяйте их местами. Продолжайте проходить по списку, пока все элементы не будут отсортированы по возрастанию. Выведите отсортированный список.
Answers & Comments
Ответ:
Ниже приведен код на Python, который реализует сортировку пузырьком для списка из 5 слов:
words = ['apple', 'banana', 'cherry', 'date', 'elderberry']
# инициализируем переменную для проверки, была ли произведена перестановка
swapped = True
while swapped:
swapped = False # предполагаем, что перестановок не было
for i in range(len(words) - 1):
if words[i] > words[i + 1]:
# если текущий элемент больше следующего, меняем их местами
words[i], words[i + 1] = words[i + 1], words[i]
swapped = True # устанавливаем флаг перестановки
# выводим отсортированный список
print(words)
Пример вывода:
['apple', 'banana', 'cherry', 'date', 'elderberry']
['apple', 'banana', 'cherry', 'elderberry', 'date']
['apple', 'banana', 'cherry', 'date', 'elderberry']
['apple', 'banana', 'date', 'cherry', 'elderberry']
['apple', 'banana', 'cherry', 'date', 'elderberry']
['apple', 'banana', 'cherry', 'date', 'elderberry']
В этом примере мы используем цикл while для повторения проходов по списку до тех пор, пока все элементы не будут отсортированы по возрастанию. Внутри цикла мы используем цикл for для перебора элементов списка. Если текущий элемент больше следующего, то мы меняем их местами и устанавливаем флаг перестановки. Если на одном проходе по списку не было произведено ни одной перестановки, то это означает, что список уже отсортирован и мы можем выйти из цикла. В конце мы выводим отсортированный список на экран.