Ⅰ 高分求一个除去大小王52张牌的洗牌算法
洗牌的方法很多,我喜欢用随机选择法,基本方法是:先把52张牌顺序存放到一个数组里面,然后产生一个1~52的随机数,把随机数的那张牌抽出来放到新数组的第一个位置,在原数组里面把抽取出的牌之后的牌前移动一个位置,然后产生1~51的随机数类似处理,直到只剩一张排。
描述如下:
VAR A1,A2:[1..52] OF POKE;
A2[1..52]=POKE1..POKE52;
FOR I=1 TO 51 DO
BEGIN
N=RANDOM(1,52-I+1)
A1[N]=A2[N]
FOR J=I TO 52 A2[J]=A2[J+1];
END
A1[52]=A2[1]