Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

큐 데이터 구조를 구현하는 Java 프로그램

<시간/>

이 기사에서는 큐 데이터 구조를 구현하는 방법을 이해할 것입니다. 큐는 작업이 수행되는 특정 순서를 따르는 선형 구조입니다. 순서는 선입선출(FIFO)입니다.

아래는 동일한 데모입니다 -

입력이 다음과 같다고 가정 -

Input Queue: [150, 300, 450, 600]

원하는 출력은 -

After removing an element, the elements of the queue are: [300, 450, 600]

알고리즘

Step 1 - START
Step 2 - Declare namely
Step 3 - Add elements to it using the ‘offer’ method.
Step 4 - Display the queue content
Step 5 - Use the ‘poll’ method to delete the element from the queue.
Step 6 - Display the elements of the queue after calling the ‘poll’ method.
Step 7 - Display the result
Step 8 - Stop

예시 1

여기서 , 우리는 모든 스택 작업을 실행하기 위해 내장 정의 함수를 사용합니다.

import java.util.Queue;
import java.util.LinkedList;
public class Demo {
   public static void main(String[] args) {
      System.out.println("The required packages have been imported");
      Queue<Integer> input_queue = new LinkedList<>();
      input_queue.offer(150);
      input_queue.offer(300);
      input_queue.offer(450);
      input_queue.offer(600);
      System.out.println("The queue is defined as: " + input_queue);
      int removedNumber = input_queue.poll();
      System.out.println("After removing an element, the elements of the queue are: " +input_queue);
   }
}

출력

The required packages have been imported
The queue is defined as: [150, 300, 450, 600]
After removing an element, the elements of the queue are: [300, 450, 600]

예시 2

여기에서는 사용자 정의 함수를 사용하여 모든 스택 작업을 실행합니다.

public class Queue {
   int SIZE = 5;
   int items[] = new int[SIZE];
   int front, rear;
   Queue() {
      front = -1;
      rear = -1;
   }
   boolean isFull() {
      if (front == 0 && rear == SIZE - 1) {
         return true;
      }
      return false;
   }
   boolean isEmpty() {
      if (front == -1)
         return true;
      else
         return false;
   }
   void enQueue(int element) {
      if (isFull()) {
         System.out.println("\nThe queue is full");
      }
      else {
         if (front == -1) {
            front = 0;
         }
         rear++;
         items[rear] = element;
         System.out.println("\nThe element " + element + " is inserted");
      }
   }
   int deQueue() {
      int element;
      if (isEmpty()) {
         System.out.println("\nThe queue is empty");
         return (-1);
      }
      else {
         element = items[front];
         if (front >= rear) {
            front = -1;
            rear = -1;
         }
         else {
            front++;
         }
         System.out.println("\nThe element " +element + " is deleted");
         return (element);
      }
   }
   void display() {
      int i;
      if (isEmpty()) {
         System.out.println("The queue is empty ");
      }
      else {
         System.out.println("\nThe elements of the queue are: ");
         for (i = front; i <= rear; i++)
            System.out.print(items[i] + " ");
      }
   }
   public static void main(String[] args) {
      Queue input_queue = new Queue();
      for(int i = 1; i < 6; i ++) {
         input_queue.enQueue(i * 100);
      }
      System.out.println("The queue is defined as: " + input_queue);
      input_queue.enQueue(6);
      input_queue.display();
      input_queue.deQueue();
      input_queue.display();
   }
}

출력

The element 100 is inserted

The element 200 is inserted

The element 300 is inserted

The element 400 is inserted

The element 500 is inserted
The queue is defined as: Queue@2a139a55

The queue is full

The elements of the queue are:
100 200 300 400 500
The element 100 is deleted

The elements of the queue are:
200 300 400 500