Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Гайд Алгоритм сортировки пузырьком на Python

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
28 Сен 2020
Сообщения
34
Реакции
6
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Гайд по сортировки пузырьком на Python

Что такое сортировка пузырьком ? Это когда тебе дан определенный список из чисел и ты его сортируешь от большего к меньшему , самым простым способом.
Например нам дан список чисел :
Python:
Expand Collapse Copy
[1,3,99,23,56]
Мы сотрируем его алгоритмом и получаем готовый нам отсортированный список :
Python:
Expand Collapse Copy
[1,3,23,56,99]

Переходим к написанию алгоритма

Для начала нужно создать Python файл. Я назову его bubblesort.py
Мы будем работать не с конкретным список, а с рандомным поэтому импортируем библиотеку рандом , а из нее модуль randint (это рандомное число если че)

Python:
Expand Collapse Copy
from random import randint

Далее нам необходимо создать пустой список, именно в него мы добавим наши числы, которые нужно отсортировать

Python:
Expand Collapse Copy
nums = []

Далее я напишу цикл, который добавит 10 рандомных чисел в список в диапазоне от 1 до 99

Python:
Expand Collapse Copy
for i in range(10):
    nums.append(randint(1, 99))
print(nums) # выводим список и видим , что он заполнен рандомными числами

Список у нас готов, числами он заполнен, теперь нужно его отсортировать, сортировать я буду циклом for

Python:
Expand Collapse Copy
for i in range(len(nums)): # sort alhoritm
    for j in range(len(nums)-i-1):
        if nums[j] > nums[j+1]:
            nums[j], nums[j+1] = nums[j+1], nums[j]
print(nums) # вывод отсортированного списка

Список у нас отсортирован, давайте запустим код , запустив код я вижу такой результат

Код:
Expand Collapse Copy
[81, 83, 15, 70, 86, 96, 89, 9, 65, 42]
[9, 15, 42, 65, 70, 81, 83, 86, 89, 96]

Каждый раз результат будет разным , так как список мы заполнили рандомными числами. Чтобы сортировать список который вам нужен , уберите цикл с добавлением чисел в список и заполните его вручную.

Весь исходный код :
Python:
Expand Collapse Copy
from random import randint # import random int

nums = [] # list of nums
for i in range(10):
    nums.append(randint(1, 99))
print(nums)

for i in range(len(nums)):
    for j in range(len(nums)-i-1):
        if nums[j] > nums[j+1]:
            nums[j], nums[j+1] = nums[j+1], nums[j]
print(nums)
 
Зачем ты это выложил
Это проходят в школах и во многих курсах это чуть ли не в самом начале показывают
 
для обучения алгоритмам полезно, но в питоне list.sort() намного лучше, чем большинство кастомных реализаций
 
Гайд по сортировки пузырьком на Python

Что такое сортировка пузырьком ? Это когда тебе дан определенный список из чисел и ты его сортируешь от большего к меньшему , самым простым способом.
Например нам дан список чисел :
Python:
Expand Collapse Copy
[1,3,99,23,56]
Мы сотрируем его алгоритмом и получаем готовый нам отсортированный список :
Python:
Expand Collapse Copy
[1,3,23,56,99]

Переходим к написанию алгоритма

Для начала нужно создать Python файл. Я назову его bubblesort.py
Мы будем работать не с конкретным список, а с рандомным поэтому импортируем библиотеку рандом , а из нее модуль randint (это рандомное число если че)

Python:
Expand Collapse Copy
from random import randint

Далее нам необходимо создать пустой список, именно в него мы добавим наши числы, которые нужно отсортировать

Python:
Expand Collapse Copy
nums = []

Далее я напишу цикл, который добавит 10 рандомных чисел в список в диапазоне от 1 до 99

Python:
Expand Collapse Copy
for i in range(10):
    nums.append(randint(1, 99))
print(nums) # выводим список и видим , что он заполнен рандомными числами

Список у нас готов, числами он заполнен, теперь нужно его отсортировать, сортировать я буду циклом for

Python:
Expand Collapse Copy
for i in range(len(nums)): # sort alhoritm
    for j in range(len(nums)-i-1):
        if nums[j] > nums[j+1]:
            nums[j], nums[j+1] = nums[j+1], nums[j]
print(nums) # вывод отсортированного списка

Список у нас отсортирован, давайте запустим код , запустив код я вижу такой результат

Код:
Expand Collapse Copy
[81, 83, 15, 70, 86, 96, 89, 9, 65, 42]
[9, 15, 42, 65, 70, 81, 83, 86, 89, 96]

Каждый раз результат будет разным , так как список мы заполнили рандомными числами. Чтобы сортировать список который вам нужен , уберите цикл с добавлением чисел в список и заполните его вручную.

Весь исходный код :
Python:
Expand Collapse Copy
from random import randint # import random int

nums = [] # list of nums
for i in range(10):
    nums.append(randint(1, 99))
print(nums)

for i in range(len(nums)):
    for j in range(len(nums)-i-1):
        if nums[j] > nums[j+1]:
            nums[j], nums[j+1] = nums[j+1], nums[j]
print(nums)
а если у тебя массив ахуеть какой огромный, и на очередной итерации у тебя ничего не поменялось, то зачем дальше сортировать?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
???
Код:
Expand Collapse Copy
import random

nums = [random.randint(1, 99) for _ in range(10)]
print(nums)

for i in range(len(nums)):
    for j in range(len(nums)-i-1):
        if nums[j] > nums[j+1]:
            nums[j], nums[j+1] = nums[j+1], nums[j]

print(nums)
 
Назад
Сверху Снизу