Junior
Na akých kontajneroch sú založené dátové štruktúry stack a queue?
sobes.tech AI
Odpoveď od AI
std::stack je predvolene založený na std::deque. std::queue je tiež predvolene založený na std::deque.
Je možné použiť aj iné kontajnery:
std::stackmôže byť založený nastd::vectoralebostd::list.std::queuemôže byť založený nastd::list.
Podmienkou pre základný kontajner je podpora operácií pridávania a odstraňovania prvkov z jedného alebo oboch koncov (pre stack - iba z jedného, pre queue - z rôznych).
Príklady použitia s inými kontajnermi:
#include <stack>
#include <queue>
#include <vector>
#include <list>
// zásobník založený na std::vector
std::stack<int, std::vector<int>> vector_stack;
// zásobník založený na std::list
std::stack<int, std::list<int>> list_stack;
// fronta založená na std::list
std::queue<int, std::list<int>> list_queue;