Repeatedly step through the list, compare adjacent elements and swap them if out of order. The largest elements "bubble up" to the end each pass.
// tap NEXT STEP to walk through one step at a time