Пример #1
0
        public void Parse(string input)
        {
            var tokens  = input.Split();
            var command = tokens[0];

            switch (command.ToLower())
            {
            case "add":
                list.Add(tokens[1]);
                break;

            case "remove":
            {
                var index = int.Parse(tokens[1]);
                list.Remove(index);
            }
            break;

            case "contains":
            {
                var contains = list.Contains(tokens[1]);
                Print(contains);
            }
            break;

            case "swap":
            {
                var index1 = int.Parse(tokens[1]);
                var index2 = int.Parse(tokens[2]);
                list.Swap(index1, index2);
            }
            break;

            case "greater":
            {
                var count = list.CountGreaterThan(tokens[1]);
                Print(count);
            }
            break;

            case "max":
            {
                Print(list.Max());
            }
            break;

            case "min":
            {
                Print(list.Min());
            }
            break;

            case "print":
            {
                Print(list);
            }
            break;

            case "sort":
            {
                list.Sort();
            }
            break;
            }
        }
        static void Main()
        {
            string command            = Console.ReadLine();
            CustomList <string> clist = new CustomList <string>();

            while (command != "END")
            {
                var tokens = command.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                string commandType = tokens[0];

                switch (commandType)
                {
                case "Add":
                {
                    string value = tokens[1];
                    clist.Add(value);
                    break;
                }

                case "Remove":
                {
                    int index = int.Parse(tokens[1]);
                    clist.Remove(index);
                    break;
                }

                case "Contains":
                {
                    string element = tokens[1];
                    Console.WriteLine(clist.Contains(element));
                    break;
                }

                case "Swap":
                {
                    int index1 = int.Parse(tokens[1]);
                    int index2 = int.Parse(tokens[2]);
                    clist.Swap(index1, index2);
                    break;
                }

                case "Greater":
                {
                    string element = tokens[1];
                    Console.WriteLine(clist.CountGreaterThan(element));
                    break;
                }

                case "Max":
                {
                    Console.WriteLine(clist.Max());
                    break;
                }

                case "Min":
                {
                    Console.WriteLine(clist.Min());
                    break;
                }

                case "Sort":
                {
                    clist.Sort();
                    break;
                }

                case "Print":
                {
                    clist.Print();
                    break;
                }

                default:
                {
                    break;
                }
                }
                command = Console.ReadLine();
            }
        }