堆栈(stack)实现了先进后出
头文件 : #include <stack>
c++ stl栈stack的成员函数介绍
操作 比较和分配堆栈
empty() 堆栈为空则返回真
pop() 移除栈顶元素
push() 在栈顶增加元素
size() 返回栈中元素数目
top() 返回栈顶元素
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
分析:队列的特性是:“先入先出”,栈的特性是:“先入后出”

程序如下:
class Solution
{
public:
void push(int node) {
{
while(!stack2.empty())
{
stack1.push(stack2.top());
stack2.pop();
}
stack2.push(node);
while(!stack1.empty())
{
stack2.push(stack1.top());
stack1.pop();
}
}
}
int pop() {
if (stack2.empty())
{
return 0;
}
int out = stack2.top();//不能直接返回值,需要赋值
stack2.pop();
return out;
}
private:
stack<int> stack1;
stack<int> stack2;
};
本文介绍了一种使用两个栈来实现队列的数据结构方法。通过不断在两个栈间转移元素,实现了队列的先进先出特性,展示了具体的C++代码实现。
3153

被折叠的 条评论
为什么被折叠?



