Я пытался скомпилировать эту функцию на C ++ безуспешно.
это код Java. В основном, есть призыв к «тесту». Я просто хочу знать, если стек s отправляется все или что S отправляется частично (без 7) из-за s.pop ()
bool test(stack<int> s, int x) {
int y;
if (!s.empty()) {
y = s.pop();
return x==y || test(s,y);
}
else return false;
}
int main ()
{
stack<int> s;
s.push(2);
s.push(5);
s.push(1);
s.push(2);
s.push(7);
int x = 4;
test(s, s.pop());
return (0);
}
Если вы используете std :: stack, pop () не возвращает значение. Вы должны использовать top () для доступа к верхнему элементу. Затем вы можете использовать pop (), чтобы удалить его из стека.
Других решений пока нет …