数组归并 算法

 我需要把  数组中的元素,向右向下 合并到一起,如 1,2图

首先定义string formation="1,1,0,2,0,0,1,3,0,0......"; 0代表没有元素,其余代表 各种元素

string[] formations =  formations = formation.Split(','); 然后搞成字符串数组

 public static string OnSetArrSort(int x, int y)
    {
        int ii = 0;
        string FF = "";
        int j1 = 0;

        int j3 = 0;
        for (int i = 0; i < x; i++)
        {
            for (int j = 0; j < y; j++)
            {
                if (j == 0)
                {
                    for (int k = 0; k < j3; k++)
                    {
                        FF += "0,";
                    }
                    j3 = 0;
                    j1 = 0;
                }
                if ( formations[ii] != "0")
                {
                    FF +=  formations[ii] + ",";
                }
                else
                {
                    j1++;
                    j3++;
                    if (j1 == y)
                    {
                        j3 = 0;
                    }

                }
                ii++;
            }
        }
        int flenth = (FF.Length) / 2;
        for (int h = 0; h < (x * y - flenth); h++)
        {
            FF += "0,";
        }
        return FF.Substring(0, x * y * 2 - 1);
    }

因为图上是 6*7格子。调用 如下 

 string[] ff = ArrSort.OnSetArrSort(6, 7).Split(',');

题外话,现在难得写 技术文章了,不是因为事情忙,而是 研究的技术,网上很少有人 研究,所以,长久以来,发布文章,所得到的回复 都是 要 源代码,这肯定不是 叫做相互学习。所以我也很少回复。

另外,在我层面上看 现在 中国学技术的人,环境是 糟糕的,这一点也不夸张,网络封闭,技术人员保守,再也不是20年前的时候了。我能做的,仅仅是 在我还没有 出国前,再分享几篇  我写的算法吧。 

原文地址:https://www.cnblogs.com/big-zhou/p/13548941.html