Удалить переменную из очереди с помощью Java - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь написать функцию, которая получает очередь и параметр (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());
    }
   }

    }

Однако в любое время удаляется первая переменная очереди ... почему?

1 Ответ

0 голосов
/ 04 мая 2018

Чтобы исправить ошибку, замените ее одной строкой:

public static void remove_it(Queue <Integer> q, int x) {
    q.remove(x);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...