牛骨文教育服务平台(让学习变的简单)
博文笔记

Java合并两个有序数组

创建时间:2015-06-09 投稿人: 浏览次数:7295

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

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);
		}
	}
}

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。