import java.util.PriorityQueue;
public class QueueInts{
public static void main(String[] args) {
PriorityQueue<Integer> q = new PriorityQueue<>();
String expression = "(2+4)-8 * (3-1)";
String symbols = "()+-*/% ";
for (int i = 0; i < expression.length(); i++) {
if (!symbols.contains("" + expression.charAt(i)))
q.add((int)expression.charAt(i)-48);
System.out.println(q);
}
System.out.println(q);
while (q.size() > 0)
System.out.println(" " + q.remove());
}
}
輸出爲[]此優先級隊列如何工作?
[2]
[2]
[2, 4]
[2, 4]
[2, 4]
[2, 4, 8]
[2, 4, 8]
[2, 4, 8]
[2, 4, 8]
[2, 4, 8]
[2, 3, 8, 4]
[2, 3, 8, 4]
[1, 2, 8, 4, 3]
[1, 2, 8, 4, 3]
[1, 2, 8, 4, 3]
1
2
3
4
8
我想我明白當它的[2,4,8]但是我不後明白。任何人都可以告訴我這個代碼是如何工作的?
你到底在期待什麼?你不明白什麼? –
我不明白在8和8之後放置8的部分。 – Osais101
元素按正確的順序被刪除,什麼讓你感到驚訝? –