Junior
Em que containers são baseadas as estruturas de dados stack e queue?
sobes.tech IA
Resposta da IA
std::stack por padrão é baseado em std::deque. std::queue também é baseado em std::deque por padrão.
Pode-se usar outros contêineres:
std::stackpode ser baseado emstd::vectoroustd::list.std::queuepode ser baseado emstd::list.
Condição necessária para o contêiner base: suporte para operações de adição e remoção de elementos de um ou ambos os extremos (para stack - apenas de um, para queue - de diferentes).
Exemplos de uso com outros contêineres:
#include <stack>
#include <queue>
#include <vector>
#include <list>
// stack baseado em std::vector
std::stack<int, std::vector<int>> vector_stack;
// stack baseado em std::list
std::stack<int, std::list<int>> list_stack;
// queue baseado em std::list
std::queue<int, std::list<int>> list_queue;