首页 » 编程之美 » 正文

[leetcode_88]Merge Sorted Array

哇这个题,把B数组的数合并到A数组中,AB原本有序,合并之后依然有序。
插入排序。
不过为什么自己写个插排写得这么死呢。
附上代码:

class Solution {
public:
    void merge(int A[], int m, int B[], int n) {
        // Note: The Solution object is instantiated only once and is reused by each test case.
        for(int i = 0;i < n;i++)
        {
            Insert(A,m+i,B[i]);
        }
    }
    void Insert(int A[],int lengthA,int val)
    {
        if(lengthA == 0)
        {
            A[lengthA] = val;
            return;
        }
        if(val > A[lengthA-1])
        {
            A[lengthA] = val;
            return ;
        }
        int i;
        for(i = lengthA-1;i >= 0;i--)
        {
            if(val < A[i])
            {
                A[i+1] = A[i];
            }
            else
            {
                A[i+1] = val;
                break;
            }
        }
        if(i == -1)
        {
            A[0] = val;
        }
    }
};

发表评论