Итак, я искал этот вопрос, но до сих пор не могу понять, что происходит.Stack реализована функция Queue Peek
Очередь реализована с использованием двух стеков, которые я понимаю и все, но когда дело доходит до функции peek
, я просто не понимаю, как это работает. Например,
template<class T>
T somethingsomething<T>::peek()
{
T potato;
if(outStack.isEmpty() == false)
{
potato = outStack.peek();
return potato;
}
else
{
/* stuff stuff stuff*/
}
}
После беспорядка, я узнал об этой реализации, но не знаю почему. когда я делаю outStack.peek(), разве это не рекурсивный вызов функции? Что происходит в коде, когда я это делаю и почему это работает?