91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何利用std::deque實現棧的功能

c++
小樊
84
2024-08-30 02:23:24
欄目: 編程語言

std::deque 是一個雙端隊列,可以在其頭部和尾部高效地添加和刪除元素

#include<iostream>
#include <deque>

class Stack {
public:
    // 向棧頂添加元素
    void push(int value) {
        deque.push_back(value);
    }

    // 從棧頂移除并返回元素
    int pop() {
        if (isEmpty()) {
            std::cerr << "Stack is empty!"<< std::endl;
            return -1;
        }
        int value = deque.back();
        deque.pop_back();
        return value;
    }

    // 返回棧頂元素
    int top() {
        if (isEmpty()) {
            std::cerr << "Stack is empty!"<< std::endl;
            return -1;
        }
        return deque.back();
    }

    // 判斷棧是否為空
    bool isEmpty() {
        return deque.empty();
    }

private:
    std::deque<int> deque;
};

int main() {
    Stack stack;
    stack.push(1);
    stack.push(2);
    stack.push(3);
    std::cout << "Top element is: "<< stack.top()<< std::endl;
    stack.pop();
    std::cout << "Top element is now: "<< stack.top()<< std::endl;
    return 0;
}

這個示例中,我們創建了一個名為 Stack 的類,它使用 std::deque 作為內部數據結構。我們實現了 push, pop, topisEmpty 方法,以提供棧的基本功能。在 main 函數中,我們創建了一個 Stack 對象,并向其添加了一些元素,然后展示了如何使用這些方法。

0
浦东新区| 建宁县| 尚志市| 穆棱市| 建德市| 报价| 长垣县| 泰安市| 富锦市| 柞水县| 启东市| 揭西县| 乌什县| 青浦区| 无为县| 尉氏县| 莎车县| 共和县| 敖汉旗| 法库县| 南平市| 娄烦县| 天津市| 江都市| 武清区| 海原县| 凤冈县| 潍坊市| 岢岚县| 榕江县| 安庆市| 聂拉木县| 巨野县| 鸡东县| 南岸区| 郎溪县| 天柱县| 房产| 进贤县| 瓮安县| 太仓市|