C# 把特定数字移动到数字前面,其他顺序不变。

例如 0,1,0,3,5,0 变成0,0,0,1,3,5

 

View Code
        static void SortArrayZero(int[] intArr)
        {
            if (intArr == null || intArr.Length == 0)
            {
                throw new Exception("input can't be empty");
            }

            int i = intArr.Length - 1;
            int k = intArr.Length - 1;

            for (; i>=0; i--)
            {
                if (intArr[i]!=0)
                {
                    if (intArr[k]==0)
                    {
                        intArr[k] = intArr[i];
                        intArr[i] = 0;
                    }
                    k--;
                }
            }
        }

 

posted @ 2013-03-10 14:16  Ligeance  阅读(191)  评论(0编辑  收藏  举报