开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?

Posted 2019ab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?相关的知识,希望对你有一定的参考价值。

代码入下、

<?php

/**
 * @param int $n,牌数
 * @return array,洗牌后的牌序
 */
function shuffle2 ( $n ) {
	$arr = range(0, $n - 1);
	
	$swap = function (&$x, &$y) {
		$temp = $x;
		$x = $y;
		$y = $temp;
	};
	
	for ($i = 0; $i < $n - 1; $i ++){
		$swap( $arr[ $i ], $arr[ rand($i+1, $n - 1) ] );
	}
	return $arr;
}


//demo
print_r( shuffle2( 54 ) );

输出的结果


这是一道PHP面试题,欢迎大家评论转发,感谢大家观看

以上是关于开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?的主要内容,如果未能解决你的问题,请参考以下文章

如何给扑克洗牌才能更公平?

游戏常用算法-洗牌算法

洗牌算法

扑克牌的完美洗牌算法

4月6日--关于算法数的练习题--扑克洗牌

java斗地主扑克 扑克牌 洗牌 发牌 Collection 集合练习