最近的算法課,上得我是一臉懵逼,大一學過歸併排序,如今也忘得差很少了,如今來回顧一下。java
1.關於歸併
這是歸併排序中很重要的一個步驟,必定要耐心的看明白。若是給定兩個已經排好序的數組,A=[1,3,5],B=[2,4], 如今要將兩個數組合併成一個有序數組,你會怎麼作?
1.開闢一個長度爲10的數組C算法
public class MergeSort { @Test public void merge() { int[] A = {1, 2, 3}; int[] B = {2, 4, 5}; int i1 = 0, i2 = 0, i3 = 0; int[] C = new int[6]; while (i1 < A.length && i2 < B.length) { if (A[i1] <= B[i2]) { C[i3++] = A[i1++]; } else { C[i3++] = B[i2++]; } } while(i1<A.length){ C[i3++] = A[i1++]; } while(i2<B.length){ C[i3++]=B[i2++]; } for(int i=0; i<C.length;i++){ System.out.print(C[i]+" "); } }
運行結果:
數組
未完待續...(能夠參考https://www.jianshu.com/p/33cffa1ce613)code