Java合并两个有序数组

合并排序,将两个已经排序的数组合并成一个数组,其中一个数组能容下两个数组的所有元素

public class MergeArray {
	public MergeArray(){
		
	}
	
	public static ArrayList<Integer> mergeArrays(int[] arrayOne, int[] arrayTwo){
		int arrayOneLen = arrayOne.length;
		int arrayTwoLen = arrayTwo.length;
		ArrayList<Integer> resultArray = new ArrayList<Integer>();
		int i= 0, j=0;
		
		while(i<arrayOneLen || j<arrayTwoLen){
			if(i==arrayOneLen && j<arrayTwoLen){
				resultArray.add(arrayTwo[j]);
				j++;
			}else if(i<arrayOneLen && j==arrayTwoLen){
				resultArray.add(arrayOne[i]);
				i++;
			}else{
				if(arrayOne[i]<=arrayTwo[j]){
					resultArray.add(arrayOne[i]);
					i++;
				}else if(arrayOne[i]>arrayTwo[j]){
					resultArray.add(arrayTwo[j]);
					j++;
				}
			}
		}
		
		return resultArray;
	}
	
	public static void main(String[] args) {
		int[] arrA = {1,3,5,7,8,9,11,12};
		int[] arrB = {2,4,6,8,10,12,13};
		
		ArrayList<Integer> arrList = mergeArrays(arrA,arrB);
		
		for(Integer intItem:arrList ){
			System.out.println(intItem);
		}
	}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值