1。’栈的定义:
所谓栈,就是一个符合“后进先出”规则的数据结构。
栈定义在<stack> 头文件中。
2.栈的声明:
stack <int> s; 栈内存放的是int型。
stack <float> s; 栈内存放的是float型。
stack <string> s; 栈内存放的是string型。
..........
//栈内还可以设置指针类型或自定义类型。
3.栈的操作
stack的push()与pop()的操作
stack.push(now); //往栈头增加元素now
stack.pop(); //从栈头移除第一个元素
#include<iostream>
#include<algorithm>
#include<stack>
using namespace std;
int main()
{
stack<int> s;
s.push(1);
s.push(3);
s.pop();
s.push(5);
s.push(7);
s.push(9);
s.pop();
s.pop();
while(!s.empty()){
printf("%d \n",s.top());
s.pop();
}
return 0;
}
输出的结果是5 ,1
stack的top()的操作
stack.top(); //从栈头取一个元素,即返回最后一个压入栈元素
stack的大小
stack.empty(); //判断堆栈是否为空
stack.size(); //返回堆栈的大小,即判断栈中还有几个元素
stack对象的拷贝构造与赋值
stack(const stack &stk); //拷贝构造函数
stack& operator=(const stack &stk); //重载等号操作符
stkIntC = stkIntA; //赋值