C++でスタックを反復処理する方法


  1. ループを使用した方法: スタックのトップからボトムまで順番にアクセスするために、ループを使用します。以下は、スタックを反復処理するための基本的なコード例です。
while (!stack.empty()) {
    // スタックのトップの要素を取得
    int element = stack.top();

    // スタックのトップの要素を処理する
    // ...
    // スタックのトップの要素を削除
    stack.pop();
}
  1. イテレータを使用した方法: C++の標準ライブラリには、スタックを反復処理するためのイテレータが用意されています。以下は、イテレータを使用したコード例です。
// スタックのイテレータを初期化
std::stack<int>::iterator it = stack.begin();
// イテレータを使用してスタックを反復処理する
while (it != stack.end()) {
    // イテレータが指す要素を処理する
    // ...
    // イテレータを次の要素に進める
    ++it;
}
  1. 範囲ベースのforループを使用した方法: C++11以降では、範囲ベースのforループを使用してスタックを反復処理することもできます。以下は、範囲ベースのforループを使用したコード例です。
for (int element : stack) {
    // スタックの要素を処理する
    // ...
}

以上が、C++でスタックを反復処理する方法とそれに対するコード例です。必要に応じてこれらの方法を適用し、スタックの要素を効果的に処理できるようにしてください。