HOME

Сортировка списков

Сортировка пузырьком

Скачать файл

    a = [1, 7, -3, 9, 0, -67, 34, 12, 45, 1000, 6,  8, -2, 99]
    n = len(a)

    for i in range(n - 1):
        for j in range(n - 1 - i):
            if a[j] > a[j + 1]:                  # если порядок элементов пары неправильный
                a[j], a[j + 1] = a[j + 1], a[j]  # меняем элементы пары местами 

    print('Отсортированный список:', a)
 

Сортировка выбором

Скачать файл

    arr = [64, 25, 12, 22, 11]
    n = len(arr)
    
    # Проходим по всем элементам списка
    for i in range(n):
        # Находим индекс минимального элемента в оставшейся части списка
        min_index = i
        for j in range(i + 1, n):
            if arr[j] < arr[min_index]:
                min_index = j
        
        # Меняем местами текущий элемент с минимальным элементом
        arr[i], arr[min_index] = arr[min_index], arr[i]
    
    print("Отсортированный список по возрастанию:", arr)
    
 

Сортировка простыми вставками

Скачать файл

    a = [1, 7, -3, 9, 0, -67, 34, 12, 45, 1000, 6,  8, -2, 99]
    n = len(a)
    
    for i in range(1, n): 
        elem = a[i]  # берем первый элемент из неотсортированной части списка
        j = i
        
        # пока элемент слева существует и больше нашего текущего элемента
        while j >= 1 and a[j - 1] > elem:
            # смещаем j-й элемент отсортированной части вправо
            a[j] = a[j - 1]
            # сами идём влево, дальше ищем место для нашего текущего элемента
            j -= 1
    
        # нашли место для нащего текущего элемента из неотсортированной части
        # и вставляем его на индекс j в отсортированной части
        a[j] = elem
    
    
    print('Отсортированный список:', a)