Слева направо поочередно сравниваются ключи двух соседних элементов. Если их порядок не соответствует заданному отношению, то эти элементы меняются местами. Далее осуществляется сдвиг вправо па один элемент и анализируется следующая пара. Просмотр массива завершается после сравнения ключей элементов, находящихся в предпоследней (n-1)-й и последней n-й позициях.
После первого просмотра массива элемент с наибольшим значением ключа займет позицию n, а с наименьшим - переместится на одну позицию к началу массива.
Второй просмотр выполняется аналогично, но завершается сравнением элементов в позициях n-2 и n-1, поскольку максимальный элемент уже занял свою позицию.
Таким образом, на каждом просмотре очередные наибольшие элементы будут занимать позиции n, n-1, n-2, ..., 2, а всего потребуется n-1 просмотров.
Ускорение работы алгоритма может быть достигнуто следующим образом. На каждом просмотре фиксируется факт наличия или отсутствия обменов. Если на очередном просмотре обменов не было, то элементы упорядочены и сортировка завершена.
Опубликовал Kest
January 22 2010 16:29:46 ·
0 Комментариев ·
6772 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.