您的位置:首页 > 其它

两个有序数组合并为一个有序数组

2017-07-18 18:24 225 查看
把两个有序数组合并为一个有序数组,例如:

数组A:1,2,2,3,5,6,7,7

数组B:1,2,4,5,8,8,9,10,11,12,12,13,14

合并后应该为:

1, 1, 2, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9, 10, 11, 12, 12, 13, 14

以下是示例代码:

public void mergeArrays(){
int[] a = {1,2,2,3,5,6,7,7};
int[] b = {1,2,4,5,8,8,9,10,11,12,12,13,14};
int[] result = new int[a.length + b.length];
int i=0, j=0, k=0;
while (i<a.length && j<b.length){
if(a[i] <= b[j]){
result[k++] = a[i++];
}else{
result[k++] = b[j++];
}
}
while (i < a.length){
result[k++] = a[i++];
}
while (j < b.length){
result[k++] = b[j++];
}
System.out.println(Arrays.toString(result));
}


输出为:

[1, 1, 2, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9, 10, 11, 12, 12, 13, 14]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: