将数组中第n个元素,放到第m个元素后面

    /// <summary>
    /// 将数组中第n个元素,放到第m个元素后面
    /// </summary>
    /// <param name="B">数组B</param>
    /// <param name="n"></param>
    /// <param name="m"></param>
    void ArraySelectToBack<T>(T[] B,int n,int m) 
    {
        int length = B.Length;
        if(n>=length -1)
        {
            return;
        }
        if (m ==0|| m > length - 1) 
        { 
            return; 
        }

        T temN = B[n];
        if(n<m)
        {
            for (int i = n; i < m + 1; i++)
            {
                B[i] = B[i + 1];
                if (i == m)
                {
                    B[m] = temN;
                    CheckEvent();
                }
            }
        }

        if(n == m)
        {
            CheckEvent();
            return;
        }

        if(n>m)
        {
            for (int i = n ; i > m ;i-- ) 
            {
                B[i] = B[i - 1];
                if(i == m+1)
                {
                    B[m +1] = temN;
                    CheckEvent();
                }
            }
        }
    }

 

posted @ 2013-09-22 16:59  Vital  阅读(527)  评论(0编辑  收藏  举报