По всему текущему массиву сравниваем соседние элементы, если необходимо, то меняем их местами, если перестановок не было (f:=true), то выход из цикла. Каждый раз исходное число итераций n уменьшается на 1.
Для создания параллельных программ используется модификация данного метода-алгоритм четно-нечетных перестановок, состоящий в попеременном чередовании двух фаз: четной и нечетной
, при этом n элементов(n - четное) будут отсортированы за n шагов, требующих n/2 операций сравнения-перестановки. В течение нечетной фазы элементы с нечетными индексами сравниваются с их правыми соседями,
и если они не находятся в правильном порядке, то меняются местами, тот же алгоритм для четной фазы, однако рассматриваются элементы с четными индексами. Исходная последовательность будет отсортирована за n итераций.
Иллюстрация метода: