Test Code for Developing Editor (quick sort)
♥0 |
Line 52 |
Modified 2010-01-12 18:24:59 |
MIT License
archived:2017-03-30 10:10:30
ActionScript3 source code
/**
* Copyright 9re ( http://wonderfl.net/user/9re )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/jd97
*/
package {
import flash.text.TextField;
import flash.display.Bitmap;
import flash.display.Graphics;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
// write as3 code here..
var arr:Array = [];
for (var i:int = 0; i < 10; ++i)
arr[i] = Math.random();
var tf:TextField = new TextField;
tf.wordWrap = true;
tf.multiline = true;
tf.appendText("original:\n\n" + arr + "\n");
quick_sort(arr);
tf.appendText("\n\nsorted:\n\n" + arr + "\n");
tf.width = 465;
tf.height = tf.textHeight + 4;
addChild(tf);
}
private function quick_sort(array:Array):void {
var len:int = array.length;
trace(array);
if (len < 2) return;
var min:Array = [], max:Array = [];
var numMin:int = 0, numMax:int = 0, i:int = 0;
var firstItem:Number = array[0], item:Number;
while (++i < len) {
item = array[i];
if (item < firstItem) {
min[numMin++] = item;
} else {
max[numMax++] = item;
}
}
min.length = numMin;
max.length = numMax;
quick_sort(min);
quick_sort(max);
i = 0;
while (i < numMin) {
array[i] = min[i];
++i;
}
array[i++] = firstItem;
numMax = 0;
while (i < len) {
array[i++] = max[numMax++];
}
}
}
}