다음 문서에서는 순환 대기열 Java에 대한 개요를 제공합니다. 순환 큐는 선형 데이터 구조이며 단순 큐와 마찬가지로 FIFO(선입선출) 방식으로 작업이 수행됩니다. 순환 대기열에서는 마지막 위치가 첫 번째 위치와 연결되어 원을 만듭니다. 링 버퍼라고도 합니다. 단순한 큐 구조에서는 뒤쪽이 큐의 끝에 도달하면, 즉 큐가 가득 차면 시작 요소의 공간이 비어 있어 활용이 불가능할 가능성이 있습니다. 이러한 대기열 제한은 원형 대기열에 의해 해결됩니다. 이번 주제에서는 순환큐 자바(Circular Queue Java)에 대해 알아보겠습니다.
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
구문:
다음은 Java 프로그램에서 순환 대기열을 사용하는 기본 구문입니다.
순환 대기열의 생성과 작동을 자세히 살펴보겠습니다.
순환 대기열에서 수행되는 기본 작업은 다음과 같습니다.
다음은 순환 대기열에서 요소를 생성, 삽입 또는 삭제하는 동안 수행되는 단계입니다.
순환 대기열에서 작업하는 동안 다음 시나리오를 염두에 두어야 합니다.
다음은 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가 무엇인지, 그리고 모든 프로그래밍 언어에서 어떻게 작동하는지 명확하게 설명합니다. 일반 큐의 한계를 해결하기 위해 순환 큐가 도입되었습니다. 작업에 앞서 프로그래머가 Queue를 먼저 이해하고 실제 프로그램에서 구현하는 것이 매우 중요합니다.
위 내용은 순환 대기열 Java의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!