outer loop
inner loop
compares element with next
swaps if incorrect order
increment inner
repeat inner if a swap was made (optimization, else repeat outer loop for n)
Running Time: best and worst case
Covered in 2a. Big O as an introduction to running time.