dreaming_everyday

保持排序地融合两个有序数组

如数组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]);

}

评论

热度(3)