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], однако я не понимаю после этого. Может ли кто-нибудь сказать мне, как работает этот код?
Что именно вы ожидали? Что ты не понимаешь? –
Я не понимаю, в какой части 3 попадают перед 8 и 4 позади 8. – Osais101
Элементы удаляются в правильном порядке, что вас удивляет? –