您的位置:首页 > 编程语言 > Java开发

Java合并两个有序数组

2015-06-09 14:24 686 查看
合并排序,将两个已经排序的数组合并成一个数组,其中一个数组能容下两个数组的所有元素
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);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: