public void BasicTests()
        {
            NestedListFlatter flatter = new NestedListFlatter();

            var nested1 = new List <object> {
                1
            };
            var flat1 = new List <int> {
                1
            };

            Assert.IsTrue(ListsEqual(flat1, flatter.FlattenRecursive(nested1)));

            //[[1,2,[3]],4] → [1,2,3,4]
            var nested1234 = new List <object>
            {
                new List <object>
                {
                    1, 2, new List <object> {
                        3
                    }
                },
                4
            };

            Console.WriteLine(flatter.NestedListToString(nested1234));
            var flat1234 = new List <int> {
                1, 2, 3, 4
            };
            bool test1Res = ListsEqual(flat1234, flatter.FlattenRecursive(nested1234));

            Assert.IsTrue(test1Res);
        }
        public void NestedListRandomTest(int n)
        {
            NestedListFlatter flatter  = new NestedListFlatter();
            List <int>        flatList = new List <int>();

            for (int i = 0; i < n; i++)
            {
                flatList.Add(i);
            }
            List <object> nestedList     = RandomNestedList(n);
            List <int>    flatNestedList = flatter.FlattenIterative(nestedList);

            Assert.AreEqual(true, ListsEqual(flatList, flatNestedList));
        }
示例#3
0
        void NestedListProblem()
        {
            //[[1,2,[3]],4] → [1,2,3,4]
            var nested1234 = new List <object>
            {
                new List <object>
                {
                    1, 2, new List <object> {
                        3
                    }
                },
                4
            };
            NestedListFlatter flatter = new NestedListFlatter();

            Console.WriteLine(flatter.NestedListToString(nested1234));
            var flatList = flatter.NestedListToString(nested1234);

            foreach (var item in flatList)
            {
                Console.Write(item + " ");
            }
        }