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

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску

Пузырьковая сортировка или сортировка простым обменом — простой алгоритм сортировки. Эффективен для небольших массивов. Сложность алгоритма составляет O(n²).

Описание[править | править код]

 ЗАДАЧА Упорядочить-(ряд+:РЯД ИЗ ЦЕЛ);
 (* Цель:  упорядочивание ряда целых чисел простым обменом
  * До:    <ряд> - исходный ряд
  * После: <ряд> - упорядоченный ряд *)
 ПЕР
   число:ЦЕЛ;     (* обрабатываемое число *)
   позНеуп:ЦЕЛ;   (* до этой позиции ряд уже упорядочен *)
   позОбмена:ЦЕЛ; (* позиция первого числа обмениваемой пары *)
 УКАЗ
   ОТ позНеуп:=0 ДО РАЗМЕР(ряд)-2 ВЫП
     ОТ позОбмена:=РАЗМЕР(ряд)-2 ДО позНеуп ПО -1 ВЫП
       ЕСЛИ ряд[позОбмена] < ряд[позОбмена+1] ТО
         (* меняем эту пару чисел *)
         число:=ряд[позОбмена];
         ряд[позОбмена]:=ряд[позОбмена+1];
         ряд[позОбмена+1]:=число
       КОН
     КОН 
   КОН
 КОН Упорядочить;