Example #1
0
        static void StacksQueue_Main(String[] args)
        {
            /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution */
            TextWriter textWriter = new StreamWriter(System.Environment.GetEnvironmentVariable("OUTPUT_PATH"), true);

            StacksQueue <int> queue = new StacksQueue <int>();

            int g = Convert.ToInt32(Console.ReadLine());

            for (int i = 0; i < g; i++)
            {
                string[] split = Console.ReadLine().Split(' ');

                switch (split[0])
                {
                case "1":     //Enqueue
                    queue.Enqueue(int.Parse(split[1]));
                    break;

                case "2":     //Dequeue:
                    queue.Dequeue();
                    break;

                case "3":     //Print:
                    textWriter.WriteLine(queue.Peek());
                    break;
                }
            }

            textWriter.Flush();
            textWriter.Close();
        }
        public void CorrectlyDequeueWithTwoNodesTest()
        {
            StacksQueue sq = new StacksQueue(n1);

            sq.Enqueue(n2);
            sq.Dequeue();
            Assert.Equal(n2.Value, sq.Dequeue().Value);
        }
        public void CorrectlyDequeueFourNodesTest()
        {
            StacksQueue sq = new StacksQueue(n1);

            sq.Enqueue(n2);
            sq.Enqueue(n3);
            sq.Enqueue(n4);
            sq.Dequeue();
            sq.Dequeue();
            sq.Dequeue();
            Assert.Equal(n4.Value, sq.Dequeue().Value);
        }
Example #4
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Node        n1 = new Node(1);
            Node        n2 = new Node(2);
            Node        n3 = new Node(3);
            Node        n4 = new Node(4);
            StacksQueue sq = new StacksQueue(n1);

            sq.Enqueue(n2);
            sq.Enqueue(n3);
            sq.Enqueue(n4);
            Console.WriteLine($"{sq.Dequeue().Value}");
            Console.WriteLine($"{sq.Dequeue().Value}");
            Console.WriteLine($"{sq.Dequeue().Value}");
            Console.WriteLine($"{sq.Dequeue().Value}");
        }
Example #5
0
        public void QueueTwoStacks_Solutions()
        {
            StacksQueue <int> queue = new StacksQueue <int>();

            queue.Enqueue(1);
            Assert.AreEqual(1, queue.Peek());
            Assert.AreEqual(1, queue.Dequeue());

            queue.Enqueue(2);
            Assert.AreEqual(2, queue.Peek());
            queue.Enqueue(3);
            Assert.AreEqual(2, queue.Peek());

            Assert.AreEqual(2, queue.Dequeue());
            Assert.AreEqual(3, queue.Dequeue());

            try
            {
                queue.Peek();
                Assert.Fail("Should throw InvalidOperationException");
            }
            catch (InvalidOperationException e)
            {
                Assert.AreEqual("Empty queue", e.Message);
            }

            try
            {
                queue.Dequeue();
                Assert.Fail("Should throw InvalidOperationException");
            }
            catch (InvalidOperationException e)
            {
                Assert.AreEqual("Empty queue", e.Message);
            }
        }
        public void CorrectlyDequeueNodeQueueWasInitializedWithTest()
        {
            StacksQueue sq = new StacksQueue(n1);

            Assert.Equal(n1.Value, sq.Dequeue().Value);
        }