假设数组长度是54【54张牌】
那么,如如果是用随机数的算法,就取两个随机数a和b,然后交换ab的位置,如此反复n次。
这个思路的坏处是,随着n的增大,洗牌效果会变好。但是n的次数不好确定到底是多少。
如果不用随机数,那么可以这样来考虑:伪随机数。
关于伪随机数,我们可以用时间来生成。比如在java中,有一个System.currentMil...的一个函数,我们可以用它来生成一个随机数【通过取模的方式等】。然后再交换数组中的元素即可。
另外,也可以用这样的方法:申请54个线程,让他们一起start,这样每次线程跑起来,顺序肯定也是不确定的。也可以通过这样的 方法达到洗牌的效果。