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

     
    做个快乐的自己。
  • 相关阅读:
    算法与数据结构(二):排序
    冒泡排序
    责任型模式一:Observer(观察者)模式
    接口型模式(二)Bridge(桥接)模式
    内部排序:归并排序
    mean函数
    cross validation
    内存不足导致的java.lang.OutOfMemoryError: java heap space引出java工程启动参数设置
    angularjs 的hello world
    Nexus私库上传jar文件
  • 原文地址:https://www.cnblogs.com/Jessy/p/2114231.html
Copyright © 2011-2022 走看看