static void Main(string[] args)
        {
            var nameSortedSet        = new List <Person>();
            var ageSortedSet         = new List <Person>();
            var numbersOfinput       = int.Parse(Console.ReadLine());
            var agePersonComparator  = new AgePersonComparator();
            var namePersonComperator = new NamePersonComparator();

            for (int i = 0; i < numbersOfinput; i++)
            {
                var inputArgs = Console.ReadLine()
                                .Split(' ');
                var name   = inputArgs[0];
                var age    = int.Parse(inputArgs[1]);
                var person = new Person(name, age);
                nameSortedSet.Add(person);
                ageSortedSet.Add(person);
            }
            nameSortedSet.Sort(namePersonComperator);
            ageSortedSet.Sort(agePersonComparator);
            for (int i = 0; i < nameSortedSet.Count; i++)
            {
                Console.WriteLine(nameSortedSet[i]);
            }
            for (int i = 0; i < ageSortedSet.Count; i++)
            {
                Console.WriteLine(ageSortedSet[i]);
            }
        }
示例#2
0
        /// <summary>
        /// Сортировка массива из элементов нового типа Person по имени Name (в алфавитном порядке)
        /// </summary>
        /// <param name="array"></param>
        /// <param name="expected"></param>
        /// <param name="descendingOrder"></param>
        public void NamePersonSorting(Person[] array, Person[] expected, bool descendingOrder)
        {
            var comparator = new NamePersonComparator {
                DescendingOrder = descendingOrder
            };
            var actual = BubbleSort.Sort(array, comparator.Compare);

            Check(expected, actual);
        }