русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сортировка обменом («пузырьковая» сортировка)


Дата добавления: 2015-08-31; просмотров: 861; Нарушение авторских прав


Сортировка обменом имеет еще одно название «пузырьковая сортировка». Поскольку на каждом шаге алгоритма, начиная с конца и до начала, два соседних элемента меняются местами, если правый элемент меньше левого, т.е. «выталкивается» самый наименьший элемент в начало массива.

Принцип метода:

Начиная от конца массива и до его начала поочередно сравниваются два соседних элемента, и если их взаиморасположение не соответствует заданному условию упорядоченности, то они меняются местами. Далее берутся два следующих соседних элемента и так далее до начала массива.

После одного такого прохода на последней 0-ой позиции массива будет стоять минимальный элемент («всплыл» первый «пузырек»). Поскольку минимальный элемент уже стоит на своей последней позиции, то второй проход обменов выполняется до 1-го элемента. И так далее. Всего требуется n-1 проход.

Пример 1. Расположим массив сверху вниз, от нулевого элемента - к последнему.

Шаг сортировки состоит в проходе снизу вверх по массиву. По пути просматриваются пары соседних элементов. Если элементы некоторой пары находятся в неправильном порядке, то меняем их местами.

индекс Проход № 1 (от n до 1)   Проход № 2 (от n до 2)   Проход № 3 (от n до 3)
0 -4   -4 -4 -4 -4 -4   -4 -4 -4
1 -4   -2   -2 -2 -2
2 -4   -2  
3 -4 -4 -4   -2  
4 -2 -2 -2 -2   -2 -2  
5 -2    
6 -2    
7    

 



индекс Проход № 4 (от n до 4)   Проход № 5 (от n до 5)   Проход № 6 (от n до 6)   Проход № 7 (от n до 7)
0 -4 -4 -4   -4 -4 -4   -4   -4
1 -2 -2 -2   -2 -2 -2   -2   -2
2      
3      
4      
5      
6      
7      

 

После нулевого прохода по массиву «вверху» оказывается самый «легкий» элемент - отсюда аналогия с пузырьком. Следующий проход делается до второго сверху элемента, таким образом, второй по величине элемент поднимается на правильную позицию и т.д.


Делаем проходы по все уменьшающейся нижней части массива до тех пор, пока в ней не останется только один элемент. На этом сортировка заканчивается, так как последовательность упорядочена по возрастанию.



<== предыдущая лекция | следующая лекция ==>
Алгоритмы сортировки | Сортировка выбором


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.266 сек.