Fork me on GitHub

【原创】将一个数组中的0元素全部排到数组的右边,其他元素相对顺序保持不变。

思想:首先初始化一个和给定数组(arr)一样大小的数组(newArr),然后将arr中不为0的元素依次放在newArr中。这时我们可以考虑,如果是说将数组中的*放在数组的左边或者右边我们只需要将数组初始化全为*,然后将arr中不为*的元素一次放在newArr的左边或者右边。
namespace 测试
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = {2,3,0,1,0,4,4,0,8,3,5};
            int[] newArr=new int[arr.Length];
            int count = 0;
            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] != 0)
                {
                    newArr[count] = arr[i];
                    count = count + 1;
                }
          
            }
            foreach (int m in newArr)
            {
                Console.Write(m+" ");
            }
            Console.ReadLine();
        }
    }
    
}

 

posted @ 2012-12-31 14:49  种花生的读书人  阅读(750)  评论(0编辑  收藏  举报

该博客仅作为记录笔记,转载随意