ホームページ >バックエンド開発 >C++ >キューを使用してスタックを反転する

キューを使用してスタックを反転する

WBOY
WBOY転載
2023-08-26 17:01:06874ブラウズ

######導入###

キューとスタックはどちらも、データを保存するために使用される線形データ構造です。スタックは、LIFO 原理を使用して要素を挿入および削除します。キューは FIFO 原理を使用します。このチュートリアルでは、キューを使用してスタックを反転する方法を学びます。反転とは、スタックの最後の要素が最初の要素になることを意味します。

スタックとは何ですか?

データ構造内のスタックは、現実のスタックからインスピレーションを得ています。これは、後入れ先出し (LIFO) ロジックを使用します。これは、スタックに置かれた最後の要素が最初に削除されることを意味します。スタックでは、要素は上から挿入され、削除できるのは上からのみです。スタックにはエンドポイントが 1 つだけあります。

実生活では、新聞を積み重ねるのが積み重ねの例です。山から取り出した新聞紙は最後に入れます。

スタックの基本機能

    push()
  • -スタック要素を上から挿入します。

    構文

    - stack_name.push(要素タイプ)

  • pop()
  • -スタックの一番上から要素を削除します。

    構文

    - stack_name.pop()

  • size()
  • -スタックのサイズを返します。

    構文

    - stack_name.size()

  • top()
  • -スタックの最上位要素への参照を返します。

    構文

    - stack_name.top()

  • キューとは何ですか?
キューを使用してスタックを反転するデータ構造におけるキューの概念は、現実のキューに由来します。キューでは、要素がバックエンドから挿入され、フロントエンドから削除されます。キューの両端は開いており、先入れ先出し (FIFO) 原理で動作します。この原則は、最初に挿入された要素が最初にキューから削除されることを意味します。

キューの基本機能

    push()
  • -キューのバックエンドに要素を挿入します。

    構文

    - queue_name.push(データ型)

  • pop()
  • -キューの先頭から要素を削除します。

    構文

    - queue_name.pop()

  • front()
  • -キュー内の最初の要素への参照を取得します。

    構文

    - queue_name.front()

  • size()
  • -キューのサイズを返します。

    構文

    - queue_name.size()

    キューを使用したリバーススタック
まず、例を通してスタック反転とは何かを理解しましょう。

リーリー

ロジック

- 要素と空のキューを含むスタックを使用します。スタックから要素を 1 つずつポップし、すべての要素が挿入されるまでキューに挿入します。ここで、キュー要素が削除され、空のスタックに再び挿入されます。仕上げる。

###アルゴリズム### ステップ 1: 要素をスタックに挿入します。

ステップ 2: 空のキューを取得します。

ステップ 3: スタック要素を空のキューに 1 つずつプッシュします。

ステップ 4: スタックは空になりました。

ステップ 5: キューから要素を 1 つずつポップし、スタックにプッシュします。

ステップ 6: スタックが反転されました。

###例###

次の例を示します。

リーリー ###出力### リーリー ###結論は###

キューを使用すると、スタックを簡単に元に戻すことができます。スタック要素をキューに挿入し、キュー要素を再度スタックに挿入します。このアプローチを簡単に理解して実装できることを願っています。

以上がキューを使用してスタックを反転するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。