Сортировка методом выбора на языке Си

В этой статье рассмотрим один из методов сортировки, который называется – метод выбора. Будет приведен алгоритм и его реализация на языке Си.

На первом проходе цикла выбирается минимальный элемент из текущей последовательности и меняется местами с первым элементом последовательности. На следующей итерации цикла поиск минимального элемента осуществляется со второй позиции, после меняется местами найденный минимальный элемент со вторым в списке. Такую процедуру выполняем до конца массива, пока он весь не будет отсортирован.

При сортировке методом выбора среднее число сравнений пропорционально 0,5N², а число перестановок за всё время сортировки пропорционально числу N/2 (N – число элементов в последовательности).

Приведем реализацию алгоритма на языке программирования Си.

N – число элементов в массиве, mass[] – массив элементов.

Напишем программу на языке Си, которая считывает с клавиатуры последовательность элементов, сортирует ее методом выбора, и выводит результат сортировки на экран.

Прокомментируем код. Считываем число N – количество элементов в массиве (строка 8), выделяем память под массив (строка 10), считываем элементы массива (строки 12-13), выполняем сортировку методом выбора (строки 17-26), выводим отсортированный массив на экран (29-30), освобождаем память, выделенную под массив (строка 32).

На рисунке представлена демонстрация работы программы.

Сортировка методом выбора. Работа программы - vscode.ru

Если хотите скачать исходник этой программы, написанный в Visual Studio, то нажмите на кнопку ниже.

Скачать исходник

 

 

Смотрите также:

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

Сортировка вставками на Си

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

 

Оцените статью

Поделиться в соц. сетях:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">