Изменения

Перейти к: навигация, поиск

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

1758 байт добавлено, 02:45, 6 мая 2011
Нет описания правки
обменять местами элементы A[j] и A[j+1]
t := истина
 
== Пример работы алгоритма ==
 
Возьмём массив с числами «5 1 4 2 8» и отсортируем значения по возрастанию, используя сортировку пузырьком. Выделены те элементы, которые сравниваются на данном этапе.
 
 
'''Первый проход:'''
 
('''5 1''' 4 2 8) ('''1 5''' 4 2 8), Здесь алгоритм сравнивает два первых элемента и меняет их местами.
 
(1 '''5 4''' 2 8) (1 '''4 5''' 2 8), Меняет местами, так как 5 > 4
 
(1 4 '''5 2''' 8) (1 4 '''2 5''' 8), Меняет местами, так как 5 > 2
 
(1 4 2 '''5 8''') (1 4 2 '''5 8'''), Теперь, ввиду того, что элементы стоят на своих местах (8 > 5), алгоритм не меняет их местами.
 
 
'''Второй проход:'''
 
('''1 4''' 2 5 8) ('''1 4''' 2 5 8)
 
(1 '''4 2''' 5 8) (1 '''2 4''' 5 8), Меняет местами, так как 4 > 2
 
(1 2 '''4 5''' 8) (1 2 '''4 5''' 8)
 
(1 2 4 '''5 8''') (1 2 4 '''5 8''')
 
Теперь массив полностью отсортирован, но алгоритм не знает так ли это. Поэтому ему необходимо сделать полный проход и определить, что перестановок элементов не было.
 
 
'''Третий проход:'''
 
('''1 2''' 4 5 8) ('''1 2''' 4 5 8)
 
(1 '''2 4''' 5 8) (1 '''2 4''' 5 8)
 
(1 2 '''4 5''' 8) (1 2 '''4 5''' 8)
 
(1 2 4 '''5 8''') (1 2 4 '''5 8''')
 
Теперь массив отсортирован и алгоритм может быть завершён.
304
правки

Навигация