Пример #1
0
        public void TestAreParenthesisBalanced()
        {
            //true
            string testString = "[{()}]";

            //false
            string testString1 = "[{{()}]";

            //false
            string testString2 = "{[{()}]}";

            //true
            string testString3 = "[{{((()))}}]";

            //false
            string testString4 = "[}{]";

            StackAndQueue s1 = new StackAndQueue();

            Assert.AreEqual(true, s1.AreParenthesisBalanced(testString));
            Assert.AreEqual(false, s1.AreParenthesisBalanced(testString1));
            Assert.AreEqual(false, s1.AreParenthesisBalanced(testString2));
            Assert.AreEqual(true, s1.AreParenthesisBalanced(testString3));
            Assert.AreEqual(false, s1.AreParenthesisBalanced(testString4));
        }
Пример #2
0
        public void TestSortStack()
        {
            Stack <int> s2 = new Stack <int>(10);

            s2.Push(5);

            s2.Push(6);

            s2.Push(1);

            s2.Push(7);

            s2.Push(9);
            s2.Push(10);
            s2.Push(2);
            s2.Push(3);
            s2.Push(4);
            s2.Push(8);

            StackAndQueue s1 = new StackAndQueue();

            s2 = s1.SortStack(s2);
            Assert.AreEqual(10, s2.Count);
            Assert.AreEqual(10, s2.Peek());
        }
Пример #3
0
        public void FishTest()
        {
            var stackAndQueue = new StackAndQueue();
            var nums          = new int[] { 4, 3, 2, 1, 5 };
            var nums2         = new int[] { 0, 1, 0, 0, 0 };

            Assert.Equal(2, stackAndQueue.Fish(nums, nums2));
        }
Пример #4
0
        public void BracketTest()
        {
            var stackAndQueue = new StackAndQueue();

            Assert.True(stackAndQueue.Brackets("{[()()]}"));
            Assert.False(stackAndQueue.Brackets("{[(]}"));
            Assert.False(stackAndQueue.Brackets("{[)(()]}"));
        }
Пример #5
0
        static void StackAndQueue()
        {
            var stack = new StackAndQueue();

            //Console.WriteLine(stack.LargestRectInHist(new int[] {3, 2, 4, 3}));
            Console.WriteLine(stack.MaxTrapWater(new int[] { 3, 0, 2, 0, 1 }));
            Console.WriteLine(stack.MaxTrapWaterStack(new int[] { 3, 0, 2, 0, 1 }));
            //Console.WriteLine(stack.ValidPareenthese("({[]()}"));
        }