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

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

WBOY
リリース: 2023-08-26 17:01:06
転載
875 人が閲覧しました

######導入###

キューとスタックはどちらも、データを保存するために使用される線形データ構造です。スタックは、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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート