#include <iostream>
#include <stack>
#include <vector>
#include <random>
std::stack<int> initStack(size_t size, int bound) {
std::stack<int> stack;
std::random_device rd;
std::mt19937 rnd(rd());
std::uniform_int_distribution<> dist(1, bound);
for (size_t i = 0; i < size; ++i) {
stack.push(dist(rnd));
}
return stack;
}
int main() {
std::stack<int> stack = initStack(15, 100);
// Print stack contents (top to bottom)
std::vector<int> temp;
while (!stack.empty()) {
temp.push_back(stack.top());
stack.pop();
}
std::cout << "Stack contents: ";
for (auto it = temp.rbegin(); it != temp.rend(); ++it) {
std::cout << *it << " ";
}
}
/*
run:
Stack contents: 10 46 79 98 40 70 26 29 49 89 61 63 25 100 49
*/