Bubble sort, ascending, on [22 10 15 3 8 2]
  pass 1: [10 15 3 8 2 22]
  pass 2: [10 3 8 2 15 22]
  pass 3: [3 8 2 10 15 22]
  pass 4: [3 2 8 10 15 22]
  pass 5: [2 3 8 10 15 22]
  result [2 3 8 10 15 22], comparisons = 15, swaps = 13
Already sorted input [2 3 8 10 15 22]
  pass 1: [2 3 8 10 15 22]  no swap, stop
  result [2 3 8 10 15 22], comparisons = 5, swaps = 0
Reversed input [22 15 10 8 3 2]
  result [2 3 8 10 15 22], comparisons = 15, swaps = 15
Bubble sort, descending, on [22 10 15 3 8 2]
  result [22 15 10 8 3 2], comparisons = 9, swaps = 2
