智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...

导航

将一个数组内元素的顺序打乱

Posted on 2009-11-20 09:43  Bill Yuan  阅读(474)  评论(0编辑  收藏  举报
 1 var arr:Array = [112233445566]
 2 disorder(arr);
 3 trace(arr)
 4 
 5 function disorder(arr:Array):Array
 6 {
 7     var len:uint = arr.length;
 8     var cache:*, ti:uint;
 9     //将i位置于随即的ti位置互换
10     for (var i:uint = 0; i < len; i++)
11     {
12         ti = int(Math.random() * len);
13         cache = arr[i];
14         arr[i] = arr[ti];
15         arr[ti] = cache;
16     }
17     while (-->= 0)
18     {
19         ti = int(Math.random() * len);
20         cache = arr[i];
21         arr[i] = arr[ti];
22         arr[ti] = cache;
23     }
24     return arr;
25 }