Bubble Sort repeatedly steps through the list, compares adjacent
elements, and swaps them if they are in the wrong order. The pass
through the list is repeated until the list is sorted. This
algorithm has a worst-case and average time complexity of O(n²).