Я пытаюсь написать функцию, которая получает очередь и параметр (int), функция удаляет переменную в очереди, равную параметру. Вот мой код:
public static void remove_it( Queue <Integer> q, int x)
{
Queue <Integer> temp = new LinkedList<Integer>();
boolean found = false;
if (!q.isEmpty())
{
if (q.peek()==x)
found = true;
temp.add(q.remove());
}
boolean b;
if (found)
{
b = true;
while (!temp.isEmpty())
{
if (temp.peek() == x && b)
{
temp.remove();
b = false;
}
else
q.add(temp.remove());
}
}
}
Однако в любое время удаляется первая переменная очереди ... почему?