Ограничения: время – 250ms/500ms, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Написать класс для списка, элементы которого хранятся в vector
```c++
template <typename T>
class ArrayList {
vector<T> values;
public:
class iterator {
ArrayList *list; mutable int index;
public: // ++, --, *, ==, !=
...};
...
};
```
---
АТД Список
конструктор (пустой список) // ``std::list<int> s;``
длина списка // ``int len=s.size();``
получение итератора на первый элемент (конец списка) // ``auto it=s.begin(), e=s.end();``
вставить перед итератором // ``auto ne=s.insert(it,3);`` возвращается итератор на доб. элемент
// it должен измениться так, чтобы он указывал на элемент после вставленного
удалить элемент по итератору // ``s.erase(ne);`` возвращается итератор на след. элемент
---
АТД Итератор списка
Следующий (предыдущий) // ``++it; --it;``
Конец списка // ``it==s.end();``
Значение элемента // ``*it``