function randomsort() { return Math.random()>.5 ? -1 : 1; } function arrRandomSort(arr){ arr.sort(randomsort); } |
function randomsort() { return Math.random()>.5 ? -1 : 1; } function arrRandomSort(arr){ arr.sort(randomsort); } _array = []; for (i = 0;i<1000;i++){ _array.push(Math.random()); } arr = []; var t1 = getTimer(); arr = arrRandomSort(_array); var t2=getTimer(); trace(t2-t1); |
_global.n = 1; function randomsort() { n++; return 1; } function arrRandomSort(arr){ arr.sort(randomsort); } _array = []; for (i = 0;i<1000;i++){ _array.push(Math.random()); } arr = []; var t1 = getTimer(); arr = arrRandomSort(_array); var t2=getTimer(); trace(t2-t1); trace(n); |
/*算法一 */ Array.prototype.random = function($lim:Number):Array { var tmp:Array = this.concat(); var len:Number = tmp.length; //trace(($lim && $lim<(len-1)) ? $lim : (len-1)); for (var i = 0; i<(($lim && $lim<(len-1)) ? $lim : (len-1)); i++) { //获取最末索引 var n:Number = len-i; //索引集合中随机一个 var r:Number = random(n); //将选出来的元素放置到数组后面,以保证不在随机范围之内 var temp = tmp[r]; tmp[r] = tmp[n-1]; tmp[n-1] = temp; } return tmp.slice(-$lim); }; /*算法二*/ function getRandom() { return Math.random()<0.5 ? 1 : -1; } function arrayRandom(arr) { arr.sort(getRandom); return arr; } //--------------------------------------------------- //测试次数 var times = 100; //生成测试数据 var _array = []; for (var i = 0; i<100; i++) { _array.push(i); } //算法一: var t1 = getTimer(); for (i=0; i<TIMES; i++) { var arr = new Array(); arr = _array.random(); } //trace(arr); var t2 = getTimer(); trace("算法一耗时:"+(t2-t1)+"MS"); //算法二: var t1 = getTimer(); for (i=0; i<TIMES; i++) { var arr = new Array(); arr = arrayRandom(_array); } //trace(arr); var t2 = getTimer(); trace("算法二耗时:"+(t2-t1)+"MS"); //Result //算法一耗时:70MS //算法二耗时:1448MS |
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |