Как-то ваял.

Код AS3:
package ru.kordum.utils {
/**
* @author KorDum
*/
public class ArrayShuffler {
private static var _array:Array;
//---------------------------------------------------------------------------
//
// CONSTRUCTOR
//
//---------------------------------------------------------------------------
public function ArrayShuffler() {
}
//---------------------------------------------------------------------------
//
// PRIVATE STATIC METHODS
//
//---------------------------------------------------------------------------
private static function startRandomize():void {
var length:uint = _array.length;
while (length--) {
var n:int = Math.random() * (length + 1);
swap(length, n);
}
}
private static function swap(x:uint, y:uint):void{
var temp:* = _array[x];
_array[x] = _array[y];
_array[y] = temp;
}
//---------------------------------------------------------------------------
//
// PUBLIC STATIC METHODS
//
//---------------------------------------------------------------------------
public static function randomize(array:Array, count:uint = 1):Array {
if (!array) return null;
_array = array.slice();
for (var i:uint = 0; i < count; i++) {
startRandomize();
}
return _array;
}
}
}