Merge Sorted Array

比较简单的一道题,这个方法是从后往前比较,效率更高。

void merge(int A[], int m, int B[], int n)
      {
          int ia = m - 1, ib = n - 1, icuur = m + n - 1;
          while (ia >= 0 && ib >= 0)
          {
              //很巧妙,从后往前开始比较,效率高
              A[icuur--] = A[ia] >= B[ib] ? A[ia--] : B[ib--];
          }
          while (ib >= 0)
          {
              A[icuur--] = B[ib--];
          }
      }
View Code

 

posted @ 2016-07-12 15:20  牧马人夏峥  阅读(93)  评论(0编辑  收藏  举报