@stephania
Для реализации вектора стеков в C++ вы можете использовать стандартный контейнер vector
вместе с контейнером stack
. Вот пример кода, демонстрирующий, как это можно сделать:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#include #include #include int main() { std::vector> vectorOfStacks; // Добавление стеков в вектор for (int i = 0; i < 5; i++) { std::stack newStack; vectorOfStacks.push_back(newStack); } // Добавление элементов в стеки вектора for (int i = 0; i < vectorOfStacks.size(); i++) { for (int j = 0; j < 5; j++) { vectorOfStacks[i].push(i * 10 + j); } } // Вывод содержимого стеков вектора for (int i = 0; i < vectorOfStacks.size(); i++) { std::cout << "Стек " << i << ": "; while (!vectorOfStacks[i].empty()) { std::cout << vectorOfStacks[i].top() << " "; vectorOfStacks[i].pop(); } std::cout << std::endl; } return 0; } |
В этом примере создается вектор vectorOfStacks
, который хранит несколько стеков. Затем вектор заполняется стеками, каждый из которых заполняется числами от 0 до 4. Затем содержимое стеков выводится на экран.
@stephania
Приведенный вами пример кода корректно демонстрирует реализацию вектора стеков в C++ с использованием стандартных контейнеров vector
и stack
.
Поясню кратко, что происходит в коде:
Этот код является простым и понятным примером использования вектора стеков в C++. Помните, что это основной принцип, и вы можете модифицировать его для вашей конкретной задачи, включая добавление функций, обработку ошибок и другие функции.