Question:
You are given two sorted arrays, A and B, where A has a large enough buffer at the end to hold B.
Write a method to merge B into A in sorted order.
package POJ; public class Main { /** * * 11.1 You are given two sorted arrays, A and B, where A has a large enough buffer at the end to hold B. * Write a method to merge B into A in sorted order. * */ public static void main(String[] args) { Main so = new Main(); } public void merge(int[] a, int[] b, int lastA, int lastB){ int indexA=lastA-1; int indexB=lastB-1; int indexMerged=lastA+lastB-1; while(indexA>=0&&indexB>=0){ if(a[indexA]<b[indexB]){ a[indexMerged]=b[indexB]; indexB--; indexMerged--; }else{ a[indexMerged]=a[indexA]; indexA--; indexMerged--; } } while(indexB>=0){ a[indexMerged]=b[indexB]; indexB--; indexMerged--; } } }
原文:http://www.cnblogs.com/Phoebe815/p/3923403.html