создать клас Лист и унаследовав от него клас Стек. в листе только два метода add и remove. Не знаю з чего начать. Эсть у кого код? Вопрос в том делать ли на ссылках или на масиве.
template <class T>
class List {
protected:
struct Node {
T value;
T* next;
Node(T& v = T()) : value(v), next(0) {}
};
Node* head;
Node* tail;
public:
List();
List(const List&);
List& operator =(const List&);
~List();
void add(const T&);
void remove(Node*);
};
template <class Tp>
class My_stack : List<Tp> {
public:
void push(const Tp& v) { add(v); }
void pop() { remove(this->tail); }
Tp& top() const { return *(this->tail); }
bool empty() const { return !(this->head) ; }
size_t size() const
{
if (empty()) return 0;
size_t sz{};
for (typename List<Tp>::Node* p = this->head; p; p = p->next)
++sz;
}
};
Или погуглив или в SO вы найдете много примеров реализации односвязного списка. У каждого свой подход. Поняв идею, напишите по своему...
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть структура с двумя параметрами: слово (str) и число (cnt; не спрашивайте зачем, это не важно)Создан массив этой структуры
Почему при точке входа WinMain/wWinMain не запускается консольА при точке входа main - запускается
имеется данный код, но он выводит не ожидаемый результаткак это исправить?