简单类型元素的数组随机排列

private function shuffle(arr:Array):Array
{
  var n:int = arr.length;
  for(var i:int = n-1;i>0;i--)
  {
	var randomNum:int = int(Math.random()*i);
	var tmp:int = arr[randomNum];
	arr[randomNum]=arr[i];
	arr[i] = tmp;
  }
  return arr;
}

注意:循环的最后一次实际上是i=1,不是i=0;

上面的算法就是: Fisher–Yates shuffe algorithm,有兴趣的朋友可以google一下~~

posted @ 2011-11-20 12:27  ywxgod  阅读(206)  评论(0编辑  收藏  举报