次の記事では、循環キュー Java の概要を説明します。循環キューは線形データ構造であり、操作は単純なキューと同様に FIFO (先入れ先出し) 方式で実行されます。循環キューでは、最後のポジションが最初のポジションに接続され、円を描きます。リングバッファとも呼ばれます。単純なキュー構造では、後部がキューの最後に到達した場合、つまりキューがいっぱいになった場合、先頭要素のスペースが空で利用できない可能性があります。このキューの制限は、CIrcular キューによって解決されます。このトピックでは、循環キュー Java について学習します。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
構文:
以下に、Java プログラムで循環キューを使用する基本的な構文を示します。
循環キューの作成と動作について詳しく理解しましょう:
CIrcular Queue で実行される基本的な操作を以下に示します。
循環キュー内の要素を作成、挿入、または削除するときに実行する手順は次のとおりです。
循環キューで作業するときは、次のシナリオに留意する必要があります:
以下は、Java プログラムでの循環キューの実装を示す例です。
public class CirQueue { // Defining the size of Circular Queue int SIZE = 5; int front, rear; int queue[] = new int[SIZE]; //creating the constructor of the above class CirQueue() { front = -1; rear = -1; } // Implementing the 2 scenarios to check if the queue is full or not boolean isFullQueue() { if (front == 0 && rear == SIZE - 1) { return true; } if (front == rear + 1) { return true; } return false; } // Check if the queue is empty or not boolean isEmptyQueue() { if (front == -1) return true; else return false; } // Adding an element in the queue void enQueue(int value) { if (isFullQueue()) { System.out.println("Sorry !! Queue is full.. No more elements could be inserted in it"); } else { // if there is no element in the queue if (front == -1) front = 0; // incrementing the rear position in circular manner using modulo operator rear = (rear + 1) % SIZE; //placing the value at the rear position queue[rear] = value; System.out.println("Element " + value + " is inserted successfully"); } } // Deleting the element from the queue void deQueue() { int value; // checking of the queue is empty or not if (isEmptyQueue()) { System.out.println("Sorry !!The Queue is empty.. "); } else { value = queue[front]; // if there is only one element in the queue if (front == rear) { front = -1; rear = -1; } else { // Incrementing the front in a circular manner front = (front + 1) % SIZE; } } } // Displaying the elements of the Circular queue void displayQueue() { int i; if (isEmptyQueue()) { System.out.println("Sorry!! The Queue is Empty"); } else { System.out.println("Position of Front: " + front); System.out.println("Below given are the elements of the Queue"); for (i = front; i != rear; i = (i + 1) % SIZE) System.out.print(queue[i] + " "); System.out.println(queue[i]); System.out.println("Position of Rear: " + rear); } } // Main function to drive the code public static void main(String[] args) { // creating the object of the class to call the methods CirQueue que = new CirQueue(); // Queue is empty. No element is inserted as of now que.deQueue(); que.enQueue(10); que.enQueue(24); que.enQueue(33); que.enQueue(67); que.enQueue(22); que.displayQueue(); que.deQueue(); que.displayQueue(); que.enQueue(900); que.displayQueue(); // Element cannot be inserted as the queue is full que.enQueue(867); que.deQueue(); que.displayQueue(); } }
出力:
以下は、循環キューでさまざまな挿入と削除を行った後の出力のスクリーンショットです。
上記の説明は、CIrcular Queue とは何か、そしてそれが任意のプログラミング言語でどのように機能するかを明確に説明しています。循環キューは、通常のキューの制限を解決するために導入されました。作業を始める前に、プログラマはまずキューを理解し、実際のプログラムでの実装を理解することが非常に重要です。
以上が循環キュー Javaの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。