Sobes.tech
Junior

Mi az a deque?

sobes.tech MI

Válasz az MI-től

A deque (két végű sor) egy adatszerkezet, amely lehetővé teszi elemek hozzáadását és eltávolítását mindkét végén: mind a kezdő, mind a vég oldalán. Ez akkor hasznos, amikor rugalmasan kell kezelni az elemeket, például prioritási sor vagy mindkét véghez való hozzáférést biztosító verem (stack) megvalósításához.

C++-ban a standard könyvtár a std::deque tárolót kínálja, amely hatékonyan támogatja mindkét oldalról történő beszúrási és törlési műveleteket.

A std::deque használatának példája:

#include <iostream>
#include <deque>

int main() {
    std::deque<int> d;
    d.push_back(10);    // Hozzáadás a végéhez
    d.push_front(20);   // Hozzáadás a kezdethez
    d.push_back(30);

    // Elemek kiíratása
    for (int x : d) {
        std::cout << x << " ";
    }
    // Kimenet: 20 10 30

    d.pop_front(); // Törlés a kezdetről (20)
    d.pop_back();  // Törlés a végéről (30)

    std::cout << "\nA törlés után: ";
    for (int x : d) {
        std::cout << x << " ";
    }
    // Kimenet: 10

    return 0;
}

A deque gyakran használatos, amikor mindkét végén gyors műveletekre van szükség, ellentétben a std::vector-ral, ahol a kezdőbe történő beszúrás kevésbé hatékony.