您的位置:首页 > 其它

将两个数组合并并排序

2015-09-03 16:54 190 查看


public static void merge(int[] a,int[] b,int lastA,int lastB)

{

int indexA=lastA-1;//数组a最后元素的索引

int indexB=lastB-1;//数组b最后元素的索引

int indexMerged=lastB+lastA-1;//合并后数组的最后元素索引

/*合并a和b,从这两个数组的最后元素开始*/

while(indexA>=0&&indexB>=0)

{

if(a[indexA]>b[indexB])

{

a[indexMerged]=a[indexA];

indexMerged--;

indexA--;

}

else

{

a[indexMerged]=b[indexB];//复制元素

indexMerged--;

indexB--;

}

}

/*将数组b剩余元素复制到适当的位置*/

while(indexB>=0)

{

a[indexMerged]=b[indexB];

indexMerged--;

indexB--;

}

}

注意:处理完B的剩余元素后,你不需要复制A的剩余元素,因为这些元素已经在那里了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: