Bubble Sort: Time and Space Complexities
BubbleSort is not an efficient algorithm. Talking time-complexity it runs in \$O(n^2)\$ which is okay given a very small array, but for a larger amount of numbers its almost unusable.

This is a comparison between a few sorting algorithms that i wrote in C#. As you can see the only advantage of BubbleSort over the other algorithms is that it is very easy to program.


Anyway - back to your code. I would your implementation is good although i find the first one way more readable.
All in all if you just wanted to implement BubbleSort you did a good job, but if you really want to sort a list, you should  definitely consider another algorithm that runs in \$O(log(n))\$.