2つのスタックを使ってキューを実装する方法

著者: Laura McKinney
作成日: 4 4月 2021
更新日: 19 11月 2024
Anonim
2つのスタックを使用したキューの実装-データ構造
ビデオ: 2つのスタックを使用したキューの実装-データ構造

コンテンツ

キューは動的データ構造であり、そこから「先着順」プロセスでデータにアクセスできます。スタックは動的データ構造で、そこから「後入れ先出し」プロセスでデータにアクセスできます。スタックを実装すると、最後に入力したアイテムだけが利用可能になります。その基礎となるデータ(最初に置いた項目)にアクセスしたい場合は、それをキューとして扱うことになります。これを行うには、セカンドヒープを実装する必要があります。


説明書

2つのスタックを使用してキューを実装するのは簡単です (Ablestock.com/AbleStock.com/Getty Images)

    2つのスタックが1行に等しい

  1. テキストエディタで、使用するプログラミング言語で使用可能な手順と機能に従ってスタックを実装するためのコードを記述します。このStack_Entryスタックを呼び出します。 Stack_Entryにデータを入れます(多くのプログラミング言語はデータを追加するために "push"コマンドを使います)。たとえば、Stack_Entryで「push」コマンドを実行して、「A」、「B」、「C」の順にデータを入力します。 "A"は最初に入るもので、スタックの一番下にあります。この最初の項目にアクセスしたい場合は、データをキューとして扱います。

  2. 使用したいプログラミング言語で使用可能な手順と機能に従って、2番目のスタックを実装するためのコードを作成します。それをStackSafeと呼びます(多くのプログラミング言語はスタックからデータを削除するために "pop"コマンドを使います)。

  3. Stack_Insertスタックから各項目を取り除き、それらをSleep Stackに配置します。一般的には、Stack_Input項目を削除してStackAidに配置します。次に、Stack_Inputが空かどうかを確認します。空でない場合は、Stack_Inputから次の項目を削除してSleep Stackに配置します。 Stack_Inputが空になるまで繰り返します。この例では、Stack_Inputから「C」を削除してStack_Aidに入れます。 InputPilotが空であることを確認してください。 Stack_Inputから "B"を削除してStack_Aidに設定します。 InputPilotが空であることを確認してください。 Stack_Inputから「A」を削除し、それをStack_Aidに設定します。 InputPilotが空であることを確認してください。


  4. Stack_Pathスタックが空の場合、Stack_Input(この例では "A")ベースにあった項目は、Stack_Asideの一番上になります。 SleepSeatアイテムを削除すると、スタックがキューに変わりました。スタックの最初のアイテムは、最初に取り出されるアイテム(先入れ先出し、または先入れ先出し、先入れ先出し)です。

どうやって

  • ほとんどのプログラミング言語には、ベクトル内のデータをあたかもキューまたはスタックであるかのように扱う関数があります。つまり、どちらの端からデータを入力しているかに関係なく、ベクトルの最後の位置と最初の位置の両方にアクセスできます。データがベクトル内にある場合は、キューやスタックとしてアクセスすることを心配する必要はありません。しかし、データが動的なヒープにあり、それをキューとして扱う場合は、2番目のスタックを実装する必要があります。

必要なもの

  • テキストエディタ
  • プログラミング言語用のコンパイラまたはインタプリタ

「The WarChief」は、PC用のリアルタイム戦略ゲーム「Age of Empire 3」(AOE3)用の2006年拡張パックです。この拡張により、ゲームのタイムラインは「AOE3」で終わった1850年から1876年まで延長され、プレーヤーが使用できるように3つのネイティブアメリカン文明が追加されます。ゲームプレイは、天然資源を探索して収集しながら、都市の構築と拡大に焦点を当てています。建物...

冷水でニキビを治療する

Roger Morrison

11月 2024

特に実質的に不快な副作用がないため、家庭療法はにきびを治療するための最良の方法の一つです。飲料水はあなたの体にとって健康であるだけではありません。外側にも塗ると肌にいい。にきびを取り除くには、水が肌をきれいにし、栄養を与えるので、水はおそらく最も実用的な自然療法です。水は肌のトーンを改善し、より若々しい外観を与えます。皮膚科医は、少なくとも1日に6〜8杯の水を大量に飲むことを推奨しています。他の液...

今日の興味深い