Сравнение эффективности различных реализаций списков (2014-2015)

22 views
Skip to first unread message

Alexey Sidnev

unread,
Oct 14, 2014, 1:10:51 AM10/14/14
to unn_pro...@googlegroups.com
Необходимо реализовать списки, используя две концепции: наследование, шаблоны. Сравнить полученные реализации.

1. Реализовать шаблонный класс, представляющий список.
template <class Data>
class ListT
{
struct CNode
{
CNode *next;
Data *data;
} *head;
};

2. Реализовать класс, представляющий абстрактный список. Унаследовать от CNode экземпляр конкретных данных.
class ListA
{
struct CNode
{
CNode *next;
} *head;
};

Для обоих классов реализовать все необходимые методы (вставка, удаление, поиск, получить количество звеньев). Для обработки ошибочных ситуаций использовать исключения.

Звено списка должно хранить дату: год, месяц, день, час, минута, секунда.

Необходимо выяснить, почему одна реализация списка работает медленнее, чем другая. Примеры причин: накладные расходы на вызов второго конструктора, использование виртуальных методов. Полученные результаты необходимо обосновать, используя практически полученные данные.
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages