C++ でのキューの配列

Muhammad Adil 2023年12月11日
  1. C++ でのキューの配列
  2. C++ でのキュー データ構造の基本操作
  3. C++ で可変サイズのキューの配列を実装する手順
C++ でのキューの配列

このセクションでは、可変サイズのキューの C++ グローバル配列について説明します。

C++ でのキューの配列

キューは、ヘッドと呼ばれる一方の端に新しい要素を挿入し、テールと呼ばれるもう一方の端から要素を抽出できる線形データ構造です。 キューは、先入れ先出し (FIFO) キューまたはプライオリティ キューを実装するためによく使用されます。

キューの C++ グローバル配列は、任意の数のキューを格納するために使用されます。 各キューのサイズは、グローバル配列の作成時に設定できます。

これにより、さまざまなサイズと容量の配列を作成して、さまざまな種類のデータを格納することができます。

このデータ構造は、多数のアイテムが存在するデータを格納する場合に役立ちますが、これらのアイテムはすべて同時に必要になるわけではありません。 たとえば、名前のリストを保存したいが、たまにしか名前を検索する必要がない場合、これはリストに適した場所です。

C++ でのキュー データ構造の基本操作

キューのデータ構造は、次の操作をサポートしています。

  1. EnQueue: 新しい項目をキューに挿入します。 アイテムがキューに追加されると、常に最後に追加されます。
  2. DeQueue: このメソッドは、アイテムをキューから削除します。 アイテムは常にキューの先頭から撤回またはデキューされます。
  3. isEmpty: キューが空かどうかを決定します。
  4. isFull: キューがいっぱいかどうかを判断します。

C++ で可変サイズのキューの配列を実装する手順

  • 保持できる要素の最大数を指定して、キューのサイズを定義します。
  • キュー要素を格納する配列を作成します。
  • 定義済みの数の空のスロットを保持するように配列を初期化します。
  • 値とインデックスを指定して Enqueue() を呼び出して、配列の最後に要素を追加します。
  • 値とインデックスを指定して Dequeue() を呼び出して、配列の先頭から要素を削除します。

例:

#include <bits/stdc++.h>
using namespace std;
struct Queue {
  int start, stop, eon;
  int* queue;
  Queue(int y) {
    start = stop = 0;
    eon = y;
    queue = new int;
  }
  void queueEnqueue(int ghm) {
    if (eon == stop) {
      cout << endl << "This Queue is not empty" << endl;
      return;
    } else {
      queue[stop] = ghm;
      stop++;
    }
    return;
  }
  void demoSam() {
    int x;

    for (x = start; x < stop; x++) {
      cout << queue[x];
    }
    return;
  }
};
int main(void) {
  Queue q(3);
  q.demoSam();
  q.queueEnqueue(6);
  q.queueEnqueue(3);
  q.queueEnqueue(12);
  q.demoSam();
  q.queueEnqueue(13);
  q.demoSam();
  return 0;
}

ここをクリック 上記のコードの動作を確認します。

著者: Muhammad Adil
Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook

関連記事 - C++ Queue