分成无序和有序两个方向考虑
无序
思路
- 先合并两个数组利用concat
- 再对数组进行排序
- 打印新数组即可
function myMerge(arr1,arr2){
const arr3=arr1.concat(arr2);
arr3.sort();
return arr3;
}
有序
思路
- 正常比较
- 是否有一个数组先排序完则另一个数组直接落入
function myMerge(arr1,arr2){
const len1=arr1.length;
const len2=arr2.length;
const len3=len1+len2;
const arr3=new Array(len3);
let p1=0;
let p2=0;
for(let i=0;i<len3;i++){
if(p1>=len1){
arr3[i]=(arr2[p2++]);
}else if(p2>=len2){
arr3[i]=(arr1[p1++]);
}else{
arr3[i]=arr1[p1]<arr2[p2]?arr1[p1++]:arr2[p2++];
}
}
return arr3;
}