Я пытаюсь написать код, который подсчитывает числа в очереди. Проблема в том, что я удаляю элементы в исходной очереди, и я бы предпочел сохранить ее как есть.Выполнение функции подсчета в очередь
Это мой код:
public static int Count(Queue<int> q) //checks how many items there's in the argument queue.
{
Queue<int> pos = q;
Queue<int> qtemp1 = new Queue<int>();
int counter = 0;
while (pos != null && pos.IsEmpty())
{
qtemp1.Insert(pos.Remove());
counter++;
}
return counter;
}
Я нашел немного решение - в конце функции, прямо перед возвращением линии, я в то время как петля, которая вставить обратно элементы в исходную очередь. –