Сортировка массива методом выбора на Python

пузырек сортировка
В данной статье мы рассмотрим сортировку методом выбора, реализованную на языке Python.

Еще статья: Сортировка массива методом пузырька на Python
Еще статья: Сортировка массива методом вставки на Python


Описание алгоритма:

Один из самых простых методов сортировки — сортировка выбором. Этот метод предполагает выбор максимального или минимального элемента массива, в зависимости от требуемой сортировки (по возрастанию или по убыванию).Если требуется отсортировать массив по возрастанию, то из исходного массива выбираются минимальные элементы. Если же сортировка должна быть выполнена по убыванию, то выбираются максимальные элементы.Например, если нужно отсортировать массив по возрастанию, то в исходном массиве находим минимальный элемент и меняем его с первым элементом массива. Затем рассматриваем неотсортированную часть массива, выбираем минимальный элемент и меняем его со вторым элементом и так далее.

# Функция сортировки массива методом выбора
def sort_choise(massiv):
    
        # В massiv[i] будет храниться текущий минимальный элемент
        for i in range(len(massiv)):
            for j in range(i+1,len(massiv)):
                
                # Проверяем элементы и меняем если нужно
                if massiv[i]<massiv[j]:
                    massiv[j],massiv[i]=massiv[i],massiv[j]
                    
        # Возвращаем отсортированный массив
        return massiv

# Тестируем
def test():
    print("Tест1",sort_choise([10,7,4,1,2,5,3,9,6,8]))
    print("Tест2",sort_choise([1,4,7,10,2,5,8,3,6,9]))
    print("Tест3",sort_choise([1,3,5,7,9,10,8,6,4,2]))

# Запуск программы
test()



Результат работы программы.


сортировка пузырьком результат





Исходник программы:

Cкачать из Облака

Еще алгоритмы тут: Алгоритмы.

Комментарии

Популярные сообщения из этого блога

Программа на Python для Ханойской башни

Нахождение НОК (наименьшее общее кратное) в Python

Поиск простых чисел в диапазоне от 1 до 100

Бинарный поиск (также известный как двоичный поиск или метод половинного деления)

Как найти наибольший общий делитель (НОД) в Python

Сортировка массива методом пузырька на Python

Перебор (перестановка) чисел на Pyton

Перевод числа из десятичной системы в двоичную (бинарную) на Python

Сортировка массива методом вставки на Python