zoukankan      html  css  js  c++  java
  • OJ练习20——T88 Merge sorted array

    把有序序列B合并到有序序列A中,A的大小大于m+n。

    特别的地方在于,不是返回一个新数组。

    【思路】

    可以开一个local数组,归并两串,再把结果赋给A。但不是很喜欢这种做法。(因为太简单了)

    插入排序是把当前元素插入到前面已经有序的m个元素中,与题目环境很符合。

    【other code】

    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];
            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];
            }
        }

    【总结】

    插入排序是从后向前遍历,这是我总是不能掌握的地方_(:зゝ∠)_

  • 相关阅读:
    Java线程死锁模拟
    Arrays Multi
    PHP Forms
    simple grammer
    有意义的命名 Meaningful names
    整洁代码
    XPath
    多态
    复用类
    访问控制权限
  • 原文地址:https://www.cnblogs.com/ketchups-notes/p/4443320.html
Copyright © 2011-2022 走看看