有两种方式,一种是从头到尾形式,另外一种是从尾到头形式
从尾到头形式就是首先在数组中的任何位置选择一个随机元素,然后使用数组中的最后一个元素进行交换。在下一步中,它从数组中除最后一个元素之外的任何位置选择一个随机元素,并将其与倒数第二个元素交换。它一直持续到交换每个元素为止。
从头到尾形式是首先在数组中的任何位置选择一个随机元素,然后使用数组中的第一个元素进行交换。在下一步中,它从数组中除第一个元素之外的任何位置选取一个随机元素,将其与第二个元素交换,直到交换每个无素为止。
参考:
http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle