Skip to content

Instantly share code, notes, and snippets.

@nothingholy
Last active May 21, 2019 17:42
Show Gist options
  • Save nothingholy/2b3c46a937fc6c655bbfe234a16bb6da to your computer and use it in GitHub Desktop.
Save nothingholy/2b3c46a937fc6c655bbfe234a16bb6da to your computer and use it in GitHub Desktop.
rk2

Рубежный контроль II

Задачи

  • Отчет для списка (list, vector, ...)
  • Отчет для очереди (queue, dequeue, ...)
  • Отчет для дерева (tree)
  • Отчет для множества (set, map, ...)

Отчет

Список

Проект: GamePlay

Строки с функциями АТД

Цикл for для пробега по list: AnimationClip.cpp стр.304

Добавление элемента в list: AnimationClip.cpp стр.296

Удаление элемента из list: AnimationClip.cpp стр.347

Описание назначения АТД

Используемая переменная _listeners типа std::list<> хранит в себе конкретные события слушателя. Тип std::list<> используется, потому что не имеет привязки к i-ому элементу и имеет большое количество операций(удаление, добавление, последовательный обход и т.п.).

Очередь

Проект: GamePlay

Строки с функциями АТД

Добавление элемента в queue: queue.cpp стр.124

Удаление элемента из queue: queue.cpp стр.230

Получение элемента: queue.cpp стр.230

Дерево

Проект: st_tree

Строки с функциями АТД

Добавление элемента: x01_hello_world.cpp стр. 37

Удаление элемента и вставка его в дочерние объекты: x06_graft.cpp стр. 59

Описание назначения АТД

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

Множество

Проект: Multi Theft Auto

Строки с функциями АТД

Добавление элемента: Client/core/CCompressorJobQueue.cpp, 275

Удаление элемента: Client/core/CCompressorJobQueue.cpp, 177

Определение принадлежности: Client/core/CCompressorJobQueue.cpp, 182

Описание назначения АТД

Используемая переменная m_FinishedList типа std::set<...> нужна для хранения результатов выполненных потоков. Выбран такой тип, так как необходимы операции: вставка элемента, удаление элемента, проверка принадлежности. Другие операции не требуются.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment