12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #include <iostream>
- #include <stdio.h>
- using namespace std;
- // Создайте метод reset, который очищает стек от элементов.
- // Создайте метод push, который добавляет в стек новый элемент.
- // Создайте метод pop, который удаляет последний элемент.
- // Создайте метод print, который выводит в консоль все элементы стека в формате: ( 0 1 2 )
- #define STACK_SIZE 10
- class Stack
- {
- public:
- Stack() : top(-1) {}
- ~Stack() {}
- private:
- int top;
- int data[STACK_SIZE];
- public:
- void reset(void) {
- top = -1;
- }
- void push(int val) {
- if (top != STACK_SIZE - 1)
- data[++top] = val;
- }
- void pop(void) {
- if (top != -1)
- top--;
- }
- void print(void) {
- if (top == -1) {
- cout << "Stack is empty" << endl;
- return;
- }
- cout << "( ";
- for (int i = 0; i <= top; i++)
- cout << data[i] << " ";
- cout << ")" << endl;
- }
- };
- int main()
- {
- Stack stack;
- stack.push(21);
- stack.push(22);
- stack.push(23);
- stack.push(24);
- stack.print();
- stack.pop();
- stack.print();
- stack.pop();
- stack.print();
- stack.reset();
- stack.print();
- stack.push(1);
- stack.push(2);
- stack.push(3);
- stack.print();
- return 0;
- }
|