Alternates between a left-to-right pass that carries the largest unsorted value to the right end, and a right-to-left pass that carries the smallest unsorted value to the left end.
A bidirectional extension of Bubble sort that shrinks the unsorted region from both sides each round, neutralising the "turtle" problem where small values near the end of the array slow the forward-only variant.