zoukankan      html  css  js  c++  java
  • Merge Sorted Array

    问题:将B按顺序合并到A上
    分析:插入排序,注意A数组为空

    class Solution
    {
    public:
        void merge(int A[], int m, int B[], int n)
        {
            int i,j;
            if(m==0)
            {
                for(i=0; i<n; i++) A[i]=B[i];
            }
            else
            {
                for(j=0;j<n;j++)
                {
                    for(i=m-1+j; i>=0; i--)
                        if(A[i]>B[j]) A[i+1]=A[i];
                        else break;
                    A[i+1]=B[j];
                }
            }
        }
    };
    

    归并排序的合并部分

    class Solution
    {
    public:
        void merge(int A[], int m, int B[], int n)
        {
            int i=0,j=0;
            int k=0;
            int C[m+n+1];
            while(i<m && j<n)
            {
                if(A[i]<B[j]) C[k++]=A[i++];
                else C[k++]=B[j++];
            }
            while(i<m) C[k++]=A[i++];
            while(j<n) C[k++]=B[j++];
            for(i=0;i<k;i++) A[i]=C[i];
        }
    };
    

      

  • 相关阅读:
    关于数论的一些总结
    gym101431B
    4.29训练题解
    hdu4347
    5.13训练的一些题解
    5.20训练的一些题解
    hdu4796
    hdu5984
    bzoj1941 hdu5992
    hdu4307
  • 原文地址:https://www.cnblogs.com/zsboy/p/3885834.html
Copyright © 2011-2022 走看看