стек Java — поп

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

-4

Решение

Если вы используете std :: stack, pop () не возвращает значение. Вы должны использовать top () для доступа к верхнему элементу. Затем вы можете использовать pop (), чтобы удалить его из стека.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]