Java 程序实现队列数据结构
javacampus interviewserver side programmingprogramming
在本文中,我们将了解如何实现队列数据结构。队列是一种线性结构,其操作执行遵循特定的顺序。顺序为先进先出 (FIFO)。
下面是相同的演示 −
假设我们的输入是 −
输入队列:[150, 300, 450, 600]
期望输出将是 −
删除元素后,队列中的元素为:[300, 450, 600]
算法
步骤 1 - 开始 步骤 2 - 声明即 步骤 3 - 使用 ‘offer’ 方法向其中添加元素。 步骤 4 - 显示队列内容 步骤 5 - 使用 ‘poll’ 方法从队列中删除元素。 步骤 6 - 调用 ‘poll’ 方法后显示队列中的元素。 第 7 步 - 显示结果 第 8 步 - 停止
示例 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