Методи сортування (Бульбашка, Вибір)

Метод сортування “Бульбашка”

Ідея – бульбашка повітря в стакані води піднімається з дна вгору. Тобто найменший ("легкий") елемент переміщується вгору ("спливає"). А точніше, найбільший елемент опускається донизу.

Алгоритм

1.Порівнюємо два сусідніх елементи

2.Якщо вони стоять не в порядку зростання, то переставляємо їх

3.Повторюємо, поки всі елементи не стануть на свої місця

Для сортування масиву з N елементів потрібен N-1 прохід , тобто достатньо поставити на свої місця N-1 елемент.

from random import *
n = int (input())
a = [randint(0,100) for i in range(n)]
print a
n = 1 
while n < len(a):
     for i in range(len(a)-n):
          if a[i] > a[i+1]:
               a[i],a[i+1] = a[i+1],a[i]
     n = n+1
print a

Метод сортування вибором

Ідея:

•знайти мінімальний елемент і поставити на місце першого (поміняти місцями з A[1])

•із решти знайти мінімальний елемент і поставити на друге місце (поміняти місцями з A[2]), і т.д.

from random import *
n = int (input())
a = [randint(0,100) for i in range(n)]
print a
k = 0
while k < len(a) - 1: 
    m = k 
    i = k + 1 
    while i < len(a):
        if a[i] < a[m]:
            m = i
        i = i+1
    p = a[k]
    a[k] = a[m]
    a[m] = p
    k = k+1 
print a