保持排序地融合两个有序数组
如数组A=[1,2,3,4,6],B=[3,5,7],融合后为C=[1,2,3,3,4,5,6,7],皆为升序融合算法(AS3代码):
var C:Array=new Array();
for(var i:int=0,j:int=0; i<A.length && j<B.length;)
{
if(A[i]<B[j])
{
C.push(A[i]);
i++;
}
else
{
//A[i]>B[j]或A[i]==B[j],优先添加B[j]
C.push(B[j]);
j++;
}
}
//复制剩余元素
//下面两个循环只会执行其中一个
for(;i<A.length;i++)
{
C.push(A[i]);
}
for(;j<B.length;j++)
{
C.push(B[j]);
}
评论