Example #1
0
        static void Main(string[] args)
        {
            CustomStack <int> myStack = new CustomStack <int>();
            string            input   = Console.ReadLine();

            while (input != "END")
            {
                if (input == "Pop")
                {
                    try
                    {
                        myStack.Pop();
                    }
                    catch (IndexOutOfRangeException exception)
                    {
                        Console.WriteLine(exception.Message);
                    }
                }
                else
                {
                    int[] numbers = input
                                    .Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries)
                                    .Skip(1)
                                    .Select(int.Parse)
                                    .ToArray();
                    myStack.Push(numbers);
                }

                input = Console.ReadLine();
            }

            for (int i = 0; i < 2; i++)
            {
                foreach (var item in myStack)
                {
                    Console.WriteLine(item);
                }
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            string command;
            CustomStack <string> stack = new CustomStack <string>();

            while ((command = Console.ReadLine()) != "END")
            {
                string[] elements = command
                                    .Split(new string[] { " ", ", " }, StringSplitOptions.RemoveEmptyEntries);

                if (elements[0] == "Pop")
                {
                    if (stack.Count > 0)
                    {
                        stack.Pop();
                    }
                    else
                    {
                        Console.WriteLine("No elements");
                    }
                }
                else if (elements[0] == "Push")
                {
                    foreach (var item in elements.Skip(1).ToArray())
                    {
                        stack.Push(item);
                    }
                }
            }

            foreach (var item in stack)
            {
                Console.WriteLine(item);
            }
            foreach (var item in stack)
            {
                Console.WriteLine(item);
            }
        }
Example #3
0
        static void Main(string[] args)
        {
            CustomStack stack = new CustomStack();
            string      cmd   = Console.ReadLine();

            while (cmd != "END")
            {
                string[] commands = cmd.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);

                switch (commands[0])
                {
                case "Push":
                    stack.Push(commands.Skip(1).Select(int.Parse).ToArray());
                    break;

                case "Pop":
                    try
                    {
                        stack.Pop();
                    }
                    catch (InvalidOperationException)
                    {
                        Console.WriteLine("No elements");
                    }
                    break;

                default:
                    break;
                }
                cmd = Console.ReadLine();
            }
            foreach (int n in stack)
            {
                Console.WriteLine(n);
            }

            Console.WriteLine(string.Join(Environment.NewLine, stack));
        }
        private static CustomStack <int> GetStack()
        {
            var customStack = new CustomStack <int>();

            string input;

            while ((input = Console.ReadLine()) != "END")
            {
                var inputTokens = input
                                  .Split(" ,".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
                                  .ToList();
                var command = inputTokens[0];

                try
                {
                    switch (command)
                    {
                    case "Push":
                        var elements = inputTokens.Skip(1).Select(int.Parse).ToList();
                        foreach (var element in elements)
                        {
                            customStack.Push(element);
                        }
                        break;

                    case "Pop":
                        customStack.Pop();
                        break;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            return(customStack);
        }
Example #5
0
        public static void Main()
        {
            var stack = new CustomStack <string>();

            string command = Console.ReadLine();

            while (command != "END")
            {
                string[] tokens = command.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
                switch (tokens[0])
                {
                case "Push":
                    var itemsToPush = tokens.Skip(1);
                    foreach (var item in itemsToPush)
                    {
                        stack.Push(item);
                    }
                    break;

                case "Pop":
                    try
                    {
                        stack.Pop();
                    }
                    catch (InvalidOperationException ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                    break;
                }

                command = Console.ReadLine();
            }

            PrintStack(stack);
        }