Junior
On which container are stack and queue built?
sobes.tech AI
Answer from AI
std::deque by default.
You can also use other sequential containers such as std::vector or std::list, by explicitly specifying them during creation:
#include <stack>
#include <queue>
#include <vector>
#include <list>
int main() {
// Stack based on std::vector
std::stack<int, std::vector<int>> vec_stack;
// Queue based on std::list
std::queue<double, std::list<double>> list_queue;
return 0;
}
The default container (std::deque) is chosen because of its efficiency for insertions and deletions at both the beginning and the end, which is necessary for implementing stack (push/pop at the end) and queue (push at the end, pop at the beginning) logic.