目录
1.栈的定义和结构
栈在数据结构中有涉及,这里不作过多讲解。栈是后进先出的数据结构,就像叠餐盘一样。
栈的定义和之前的list、vector、pair差不多。使用时,直接定义。例:stack<int> p;
2.五个栈常用的函数
栈的函数都不难,具体见下图,参考的例子见代码示例:
重点1:栈不能遍历,因为只能操作栈顶元素。除非先查看栈顶元素,再取出栈顶,再查看栈顶元素。
重点2:将数组放进栈,可以实现数组的逆序输出。不过实现的过程比较麻烦,一般不这样用。
3.代码示例:
using namespace std;
int main()
{
stack<int> p;
p.push(10); /*要点:这里和list、pair、vector都不同,
前面的是用的push_back()函数插入,这里使用push()函数插入*/
p.push(15);
p.push(20);
p.push(25);
p.push(30);
p.push(35);
cout<<"栈顶元素为:"<<p.top()<<endl;
p.pop();
cout<<"栈顶元素为:"<<p.top()<<endl;
if(!p.empty())
{
cout<<"栈顶不为空"<<endl<<"栈的元素个数为:"<<p.size()<<endl;
}
if(p.empty())
{
cout<<"栈顶为空"<<endl;
}
return 0;
}
运行结果: