本文介绍了什么是POP的队列等价物?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.Stack;
public class QS {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
scan.close();
char[] s = input.toCharArray();
PriorityQueue<Character> queue=new PriorityQueue<Character>();
Stack<Character> st = new Stack<Character>();
for (char c : s) {
st.push(c);
queue.add(c);
}
System.out.println("STACK .... ");
for(int i =0;i<input.length();i++){
System.out.println(st.pop());
}
System.out.println("QUEUE .... ");
for(int i =0;i<input.length();i++){
System.out.println(queue.poll());
}
}
}
我尝试了什么:
What I have tried:
I / O:
racecar
STACK ....
r
a
c
e
c
a
r
QUEUE ....
a
a
c
c
$ b $
r
r
racecar
STACK ....
r
a
c
e
c
a
r
QUEUE ....
a
a
c
c
e
r
r
我也在寻找赛车作为队列的输出..我哪里出错了?
I am looking for "racecar" as output from the queue too.. Where am I going wrong ?
推荐答案
import java.util.LinkedList;
import java.util.Scanner;
import java.util.Stack;
public class QS {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
scan.close();
char[] s = input.toCharArray();
LinkedList<Character> queue=new LinkedList<Character>();
Stack<Character> st = new Stack<Character>();
for (char c : s) {
st.push(c);
queue.add(c);
}
System.out.println("STACK .... ");
for(int i =0;i<input.length();i++){
System.out.println(st.pop());
}
System.out.println("QUEUE .... ");
for(int i =0;i<input.length();i++){
System.out.println(queue.poll());
}
}
}
这篇关于什么是POP的队列等价物?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!