Sobes.tech
Junior

Melyik konténerben épül a verem és a sor?

sobes.tech MI

Válasz az MI-től

Az alapértelmezett std::deque.

Más szekvenciális konténereket is használhatunk, például std::vector vagy std::list, kifejezetten megadva őket a létrehozás során:

#include <stack>
#include <queue>
#include <vector>
#include <list>

int main() {
    // Verem std::vector alapján
    std::stack<int, std::vector<int>> vec_stack;

    // Sor std::list alapján
    std::queue<double, std::list<double>> list_queue;

    return 0;
}

Az alapértelmezett konténer (std::deque) kiválasztása annak hatékonyságára vezethető vissza, mind az elejéről, mind a végéről történő beszúrás és törlés műveletekben, ami szükséges a verem (push/pop a végén) és a sor (push a végén, pop az elején) logikájának megvalósításához.