Sobes.tech
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::stack môže byť založený na std::vector alebo std::list.
  • std::queue môže byť založený na std::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;