Java 菜单驱动程序执行队列操作
队列是一种线性数据结构,在Java中被视为基于FIFO(先进先出)原理的集合。
在本文中,我们将看到如何使用Java编程语言执行不同的队列操作,如入队(Enqueue)、出队(Dequeue)、队列的前端、队列的大小以及队列是否为空。我们将使用switch case实现应用程序。
一些实例展示
实例-1
Suppose we have entered a queue of size 6 with elements [2, 6, 5, 8, 7, 3]. Then we will perform the Enqueue operation and add element 0. So the updated list is -
[2, 6, 5, 8, 7, 3, 0]
实例-2
In the same queue we perform Dequeue operation and remove element 2. Then the
updated list is - [6, 5, 8, 7, 3, 0]
实例-3
Now we find the front of the queue. The front element is 6.
实例-4
Suppose we have created an array containing 6 elements and array elements are [2,4,6,2,6,8]. Now we will print the smallest element in an array. And hence result will be.
Smallest element present in given array: 2
实例-5
Now we find if the queue is empty or not. And the result is “The queue is not empty”.
语法
要将元素加入队列中,我们使用add()方法
以下是“add()”的语法
list.add(s);
要从队列中出队元素,我们使用remove()方法
以下是”remove()”的语法
list.remove(s);
要查看队列中的第一个元素,我们使用peek()方法。
以下是“peek()”的语法:
list.peek();
要检查队列是否为空,我们使用isEmpty()方法
以下是“isEmpty()”的语法
list.isEmpty();
步骤
步骤 1 − 要求用户输入所需的队列。
步骤 2 − 显示菜单。
步骤 3 − 要求用户输入他们的选择。
步骤 4 − 使用switch case命令跳转至选择并执行操作。
步骤 5 − 打印结果。
让我们看下程序以更清楚地理解它。
示例
import java.util.*;
public class Main{
public static void main(String args[]){
LinkedList<String> list = new LinkedList<>();
//declare your list
Scanner sc = new Scanner(System.in);
//create a scanner class object
System.out.print("Enter the queue size : ");
int nbr = sc.nextInt();
//read the number of element
System.out.println("Enter the element : ");
sc.nextLine();
do {
list.add(sc.nextLine());
nbr--;//decrement the index
}
while (nbr > 0);
//repeat until the index will be 0
System.out.println("The queue contains: ");
System.out.println(list);//print your list
mainLoop: while (true) {
Scanner sc1 = new Scanner(System.in);
System.out.println("\n***Menu***");
System.out.println("1. Perform Enqueue operation");
System.out.println("2. Perform Dequeue operation");
System.out.println("3. Prints the front of the queue");
System.out.println("4. Print the size of the queue");
System.out.println("5. Check if the queue is empty");
System.out.println("6. Terminate the program");
System.out.println("Enter action number (1-6): ");
int command = sc.nextInt();
switch(command){
case 1:
System.out.print("Enter the element you want to enter in the queue : ");
int num = sc.nextInt();
String s = Integer.toString(num);
list.add(s);
System.out.println("updated list is: ");
System.out.println(list);
break;
case 2:
list.remove();
System.out.println("updated list is: ");
System.out.println(list);
break;
case 3:
System.out.println("The front element is " + list.peek());
break;
case 4:
System.out.println("The queue size is " + list.size());
break;
case 5:
if (list.isEmpty()) {
System.out.println("The queue is empty");
}
else {
System.out.println("The queue is not empty");
}
break;
case 6:
System.out.println("Program terminated");
break mainLoop;
default:
System.out.println("Wrong choice!!");
}
}
}
}
输出
Enter the queue size : 4
Enter the element :
1
2
3
4
The queue contains:
[1 , 2, 3, 4]
***Menu***
1. Perform Enqueue operation
2. Perform Dequeue operation
3. Prints the front of the queue
4. Print the size of the queue
5. Check if the queue is empty
6. Terminate the program
Enter action number (1-6):
1
Enter the element you want to enter in the queue : 5
updated list is:
[1 , 2, 3, 4, 5]
***Menu***
1. Perform Enqueue operation
2. Perform Dequeue operation
3. Prints the front of the queue
4. Print the size of the queue
5. Check if the queue is empty
6. Terminate the program
Enter action number (1-6):
2
updated list is:
[2, 3, 4, 5]
***Menu***
1. Perform Enqueue operation
2. Perform Dequeue operation
3. Prints the front of the queue
4. Print the size of the queue
5. Check if the queue is empty
6. Terminate the program
Enter action number (1-6):
3
The front element is 2
***Menu***
1. Perform Enqueue operation
2. Perform Dequeue operation
3. Prints the front of the queue
4. Print the size of the queue
5. Check if the queue is empty
6. Terminate the program
Enter action number (1-6):
4
The queue size is 4
***Menu***
1. Perform Enqueue operation
2. Perform Dequeue operation
3. Prints the front of the queue
4. Print the size of the queue
5. Check if the queue is empty
6. Terminate the program
Enter action number (1-6):
5
The queue is not empty
***Menu***
1. Perform Enqueue operation
2. Perform Dequeue operation
3. Prints the front of the queue
4. Print the size of the queue
5. Check if the queue is empty
6. Terminate the program
Enter action number (1-6):
6
Program terminated
在本文中,我们通过使用菜单驱动的方法探讨了如何在Java中执行不同的队列操作。