Flash ActionScript 数组处理函数(二分法)
//在整数数组中查找元素
function funcArr_unique(aArr:Array, aValue:String) {
var searchStr:Number = Number(aValue);
var Left:Number;
var Mid:Number;
var Right:Number;
Left = 0;
Right = aArr.length-1;
while (Left<=Right) {
Mid = int((Left+Right)/2);
//trace(Mid);
if (searchStr<aArr[Mid]) {
Right = Mid-1;
} else if (searchStr>aArr[Mid]) {
Left = Mid+1;
} else {
return Mid;//查找到记录,返回记录位置
}
}
return 0;
}
//字符串数组转换成数字数组
function funcStrToNumArr(aArr:Array) {
var Length:Number = aArr.length;
for (var i = 0; i<Length; i++) {
aArr[i] = Number(aArr[i]);
}
return aArr;
}
//整数数组排序
function quicksort(aArr:Array) {
var i:Number;
var j:Number;
var Temp:Number;
var Mid:Number;
var Left:Number;
var Right:Number;
for (i=1; i<aArr.length; i++) {
Temp = aArr[i];
Left = 0;
Right = i-1;
while (Left<=Right) {
Mid = int((int(Left)+int(Right))/2);
if (Temp<aArr[Mid]) {
Right = Mid-1;
} else {
Left = Mid+1;
}
}
for (j=i-1; j>=Left; j--) {
aArr[j+1] = aArr[j];
}
if (Left != i) {
aArr[Left] = Temp;
}
}
return aArr;
}