C++のスタックの実装方法は何ですか?

C++では、std::stackテンプレートクラスを使用してスタックを実装することができます。std::stackクラスは、他のシーケンスコンテナ(std::vector、std::deque、std::listなど)に基づいてスタックの機能を提供するコンテナアダプターです。

std::stackを使用してスタックを実装する例示コードが以下にあります:

#include <iostream>
#include <stack>

int main() {
    std::stack<int> myStack;

    // 将元素压入栈
    myStack.push(1);
    myStack.push(2);
    myStack.push(3);

    // 访问栈顶元素
    std::cout << "栈顶元素:" << myStack.top() << std::endl;

    // 弹出栈顶元素
    myStack.pop();
    std::cout << "弹出栈顶元素后的栈顶元素:" << myStack.top() << std::endl;

    // 检查栈是否为空
    if (myStack.empty()) {
        std::cout << "栈为空" << std::endl;
    } else {
        std::cout << "栈不为空" << std::endl;
    }

    // 获取栈的大小
    std::cout << "栈的大小:" << myStack.size() << std::endl;

    return 0;
}

上記の例では、std::stack myStack; は整数のスタックを作成します。myStack.push(1); は要素1をスタックにプッシュします。myStack.top() はスタックのトップ要素を返します。myStack.pop() はスタックのトップ要素をポップします。myStack.empty() はスタックが空かどうかを確認します。myStack.size() はスタックのサイズを取得します。

bannerAds