zoukankan      html  css  js  c++  java
  • [转载]:合并两个已排序好的int数组,并排序返回c#实现

    /// <summary>
            /// 两个从小到大排序好的int数组,合并后也返回一个从小到大排序好的数组,
            /// 包含两个数组中全部的元素
            /// </summary>
            /// <param name="a"></param>
            /// <param name="b"></param>
            /// <returns></returns>
            public static int[] MergeArray(int[] a, int[] b)
            {
                if( a == null || b== null )
                    throw new NotSupportedException();

                int lena = a.Length;
                int lenb = b.Length;
                int[] c = new int[lena+lenb];

                int i, j, n;
                i = j = n = 0;

                while (i < lena && j < lenb)
                {
                    if (a[i] < b[j])
                    {
                        c[n++] = a[i++];
                    }
                    else if (a[i] > b[j])
                    {
                        c[n++] = b[j++];
                     }
                    else
                    {
                        c[n++] = a[i++];
                        c[n++] = b[j++];                   
                    }
                }

                if (i == lena)
                {
                    while (j < lenb)
                        c[n++] = b[j++];
                }
                else
                {
                    while (i < lena)
                        c[n++] = a[i++];
                }

                return c;
            }

     
    做个快乐的自己。
  • 相关阅读:
    ubuntu上如何安装和卸载google chrome 浏览器
    另眼相看“那些争议最大的编程观点”
    读完了csapp(中文名:深入理解计算机系统)
    SSL工作原理
    linux signal 处理
    PCB设计资料:看到最后才知道是福利
    String.Format使用方法
    matlab三维画图
    spin_lock &amp; mutex_lock的差别?
    Hibernate Criterion
  • 原文地址:https://www.cnblogs.com/Jessy/p/2114231.html
Copyright © 2011-2022 走看看