M
Marco21s
Guest
Реализовать очередь для управления объектами класса Person (без использования готовых контейнеров/коллекций). Язык C#, версия платформы .Net значения не имеет.
Класс Person имеет следующие поля: id, phoneNumber.
Необходимо реализовать API класса MyQueue со следующими методами:
public Person dequeue() - удаляет и возвращает первый элемент в очереди
public void enqueue(Person person) - добавляет последний элемент в очередь
public bool isEmpty() - возвращает true если очередь пуста
public int size() - возвращает количество элементов в очереди
public void sortByID() - сортирует элементы по возрастанию ID
public void sortByPhoneNumber() - сортирует элементы по возрастанию PhoneNumber
Оформить решение нужно в виде консольного приложения, которое принимает на вход n как аргумент командной строки, а также последовательность строк(phoneNumber) из стандартного ввода и выводит номера n первых персон в очереди.
Будем считать, что предположение 0 ≤ n ≤ m верно для всех тестовых случаев.
phoneNumber – номер телефона персоны, для которого создается объект Person с уникальным ID, и добавляется в очередь
Примеры выполнения:
1)
Input: 3 +77777777 +88888888 +99999999 +1000000 +3333333
Output: +77777777 +88888888 +99999999
Первый аргумент 3, в очередь вставляется 5 персон и выводится телефоны 3х первых
2)
Input: 5 +77777777 +88888888 +99999999 +1000000 +3333333
Output: +77777777 +88888888 +99999999 +1000000 +3333333
Первый аргумент 5, в очередь вставляется 5 персон и выводится телефоны 5ти первых
Дополнительные требования, выполнение которых будет плюсом:
Continue reading...
Класс Person имеет следующие поля: id, phoneNumber.
Необходимо реализовать API класса MyQueue со следующими методами:
public Person dequeue() - удаляет и возвращает первый элемент в очереди
public void enqueue(Person person) - добавляет последний элемент в очередь
public bool isEmpty() - возвращает true если очередь пуста
public int size() - возвращает количество элементов в очереди
public void sortByID() - сортирует элементы по возрастанию ID
public void sortByPhoneNumber() - сортирует элементы по возрастанию PhoneNumber
Оформить решение нужно в виде консольного приложения, которое принимает на вход n как аргумент командной строки, а также последовательность строк(phoneNumber) из стандартного ввода и выводит номера n первых персон в очереди.
Будем считать, что предположение 0 ≤ n ≤ m верно для всех тестовых случаев.
phoneNumber – номер телефона персоны, для которого создается объект Person с уникальным ID, и добавляется в очередь
Примеры выполнения:
1)
Input: 3 +77777777 +88888888 +99999999 +1000000 +3333333
Output: +77777777 +88888888 +99999999
Первый аргумент 3, в очередь вставляется 5 персон и выводится телефоны 3х первых
2)
Input: 5 +77777777 +88888888 +99999999 +1000000 +3333333
Output: +77777777 +88888888 +99999999 +1000000 +3333333
Первый аргумент 5, в очередь вставляется 5 персон и выводится телефоны 5ти первых
Дополнительные требования, выполнение которых будет плюсом:
- Использование обобщений C#
- Обработка исключений
- Возможность использования итератора для очереди
- Возможность хранения других объектов в очереди
Continue reading...