Quote Originally Posted by KBriggs
I still am having trouble seeing how there is no order in shuffling increasingly small parts of an array
Think recursively: to shuffle an array, you just select an element at random, move it into position, then shuffle the rest of the array. It so happens that a simple solution for moving the element selected at random into position and out of the way of the rest of the array is to swap it with the element that is currently in the designated position. The base case of this recursion is to do nothing for an array with just one element.