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

     
    做个快乐的自己。
  • 相关阅读:
    开启text汇聚排序
    sshpass安装使用
    pinpoint初始化hbase脚本报错
    ORA-19606: Cannot copy or restore to snapshot control file
    standby_file_management参数为MANUAL导致添加数据文件错误
    dataguard从库移动数据文件
    redis恢复(aof)
    redis集群部署+节点端口修改+数据恢复
    oracle传输表空间相关
    dataguard主库删除归档日志后从库恢复的方法
  • 原文地址:https://www.cnblogs.com/Jessy/p/2114231.html
Copyright © 2011-2022 走看看