コード例 #1
0
    private static void Main(string[] args)
    {
        string input = string.Empty;

        CustomStack <int> myStack = new CustomStack <int>();

        while ((input = Console.ReadLine()) != "END")
        {
            List <string> tokens  = input.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            string        command = tokens[0];
            int[]         numbers = tokens.Skip(1).Select(int.Parse).ToArray();
            try
            {
                switch (command)
                {
                case "Push":
                    foreach (var num in numbers)
                    {
                        myStack.Push(num);
                    }
                    break;

                case "Pop":
                    myStack.Pop();
                    break;

                default:
                    break;
                }
            }
            catch (InvalidOperationException e)
            {
                Console.WriteLine(e.Message);
            }
        }

        if (myStack.Any())
        {
            for (int i = 0; i < 2; i++)
            {
                Console.WriteLine(string.Join(Environment.NewLine, myStack));
            }
        }
    }
コード例 #2
0
    public static void Main()
    {
        var myStack = new CustomStack<int>();

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

            if (command == "Push")
            {
                var numbers = tokens.Skip(1).Select(int.Parse).ToList();

                foreach (var n in numbers)
                {
                    myStack.Push(n);
                }
            }
            else
            {
                try
                {
                    myStack.Pop();
                }
                catch (ArgumentException ae)
                {
                    Console.WriteLine(ae.Message);
                }
            }
        }

        if (myStack.Any())
        {
            Console.WriteLine(string.Join(Environment.NewLine, myStack));
            Console.WriteLine(string.Join(Environment.NewLine, myStack));
        }
    }