栈
import java.util.Scanner;
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Stack<Integer> stack = new Stack<>();
// 压栈
System.out.println("请输入要压入栈的整数(输入非整数结束):");
while (scanner.hasNextInt()) {
int num = scanner.nextInt();
stack.push(num);
System.out.println("压入元素:" + num);
}
// 查看栈顶元素
if (!stack.isEmpty()) {
System.out.println("栈顶元素:" + stack.peek());
} else {
System.out.println("栈已经为空!");
}
// 弹栈
System.out.println("开始弹出栈中的元素:");
while (!stack.isEmpty()) {
System.out.println("弹出元素:" + stack.pop());
}
scanner.close();
}
}
队列
import java.util.Scanner;
import java.util.LinkedList;
import java.util.Queue;
public class QueueExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Queue<String> queue = new LinkedList<>();
// 入队
System.out.println("请输入要入队的字符串(输入空字符串结束):");
while (true) {
String input = scanner.nextLine();
if (input.isEmpty()) {
break;
}
queue.add(input);
System.out.println("入队元素:" + input);
}
// 查看队首元素
if (!queue.isEmpty()) {
System.out.println("队首元素:" + queue.peek());
} else {
System.out.println("队列已经为空!");
}
// 出队
System.out.println("开始出队:");
while (!queue.isEmpty()) {
System.out.println("出队元素:" + queue.poll());
}
scanner.close();
}
}