線形キューを使用する際の一般的な手順は次のとおりです。
-
線形キューの作成: 必要なデータ構造を作成し、キューの要素を格納するための領域を確保します。この領域は、要素数とポインタを追跡するためのインデックス変数を持つ配列で実現できます。
-
要素の挿入(エンキュー): キューの末尾に要素を挿入します。これにより、末尾の位置が更新されます。
-
要素の削除(デキュー): キューの先頭から要素を削除します。これにより、先頭の位置が更新されます。
-
キューの状態の確認: 空のキューかどうか、またはキューが満杯かどうかを確認するための条件を設定します。これにより、エンキューとデキューの操作の妥当性を検証できます。
線形キューの利点は、シンプルで効率的なデータ構造であることです。また、配列を使用しているため、メモリの使用量も少なくて済みます。
以下に、線形キューの操作を示す簡単なC言語のコード例を示します。
#include <stdio.h>
#define MAX_SIZE 100
int queue[MAX_SIZE];
int front = -1;
int rear = -1;
void enqueue(int item) {
if (rear == MAX_SIZE - 1) {
printf("キューが満杯です\n");
} else {
if (front == -1)
front = 0;
rear++;
queue[rear] = item;
printf("%d をキューに追加しました\n", item);
}
}
void dequeue() {
if (front == -1 || front > rear) {
printf("キューは空です\n");
} else {
printf("%d をキューから削除しました\n", queue[front]);
front++;
}
}
int main() {
enqueue(10);
enqueue(20);
enqueue(30);
dequeue();
dequeue();
dequeue();
dequeue();
return 0;
}
この例では、enqueue
関数は要素をキューに追加し、dequeue
関数はキューから要素を削除します。キューが満杯の場合や空の場合には適切なメッセージが表示されます。
以上が線形キューの基本的な使い方とコード例です。これを参考にして、自身のプログラムに線形キューを適用してみてください。