一个整数数组,在不用shuffle函数的前提下怎么随机排序
上代码:
class Solution
{
private $numsArr = [];
public function __construct($nums)
{
$this->numsArr = $nums;
}
/**
* 原始数据
* @return array
*/
public function reset()
{
return $this->numsArr;
}
/**
* 打乱后数据
* @return array
*/
public function shuffle()
{
$shuffle = $this->numsArr;
$len = count($this->numsArr);
for($i = 0; $i < $len; $i++) {
$rd = mt_rand(0, $len - 1);
$tmp = $shuffle[$i];
$shuffle[$i] = $shuffle[$rd];
$shuffle[$rd] = $tmp;
}
return $shuffle;
}
}
$nums = [1,2,3,4,5,6];
$obj = new Solution($nums);
print_r($obj->reset());
print_r($obj->shuffle());