flash on 2012-3-7
♥0 |
Line 49 |
Modified 2012-03-15 13:06:09 |
MIT License
archived:2017-03-20 17:17:14
ActionScript3 source code
/**
* Copyright codeonwort ( http://wonderfl.net/user/codeonwort )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/m3KX
*/
package {
import flash.display.Sprite;
import flash.utils.getTimer
import com.actionscriptbible.Example
public class FlashTest extends Example {
public function FlashTest() {
// write as3 code here..
var t:Number
var N:int = 1000000
var A:Array = []
for(var i:int = 0 ; i < N ; i++){
A[i] = i
}
directShuffle(A, N)
t = getTimer()
countingSort(A, N)
trace('sorting', N, 'numbers:', getTimer() - t, 'ms')
}
private function countingSort(A:Array, K:int):void {
var N:int = A.length
var B:Array = []
var C:Array = []
var i:int
for(i = 0 ; i < K ; i++) C[i] = 0
for(i = 0 ; i < N ; i++) {
B[i] = 0
C[A[i]] ++
}
for(i = 1 ; i < K ; i++) C[i] = C[i] + C[i - 1]
for(i = N - 1 ; i >= 0 ; i--){
B[C[A[i]] - 1] = A[i]
C[A[i]] --
}
for(i = 0 ; i < N ; i++) A[i] = B[i]
}
}
}
function directShuffle(array:Array, count:uint):void {
var temp:*, x:int, y:int
for(var i:int=0 ; i<count ; i++){
x = integer(array.length)
y = integer(array.length)
temp = array[x]
array[x] = array[y]
array[y] = temp
}
}
function integer(num:int):int {
return int(Math.random() * num)
}