概念
注意:stack没有随机迭代器(不能实现p+n=p[n])
初始化
stack<int> v1
常见函数
v1.size():返回x的长度
v1.empty():判断是否为空,空的话返回true
v1.top():返回栈顶元素
v1.push():向栈顶插入一个元素
v1.pop():弹出栈顶元素
没有clear用来清空数组
清空数组:v1=stack<int> ()
stack的遍历方式
1.将栈中元素一个个取出来存在数组中,再进行访问
2.多开一个stack,边读的时候边入栈,然后再读回原来的stack
int val; stack <int> container; stack <int> temp; while(!container.empty()) { val=container.top(); temp.push(val); container.pop(); } //复原 while(!temp.empty()) { val=temp.top(); temp.pop(); container.push(val); }
stack的所有函数
1.stack的构造函数
stack<T> stkT;//stack 采用模板类实现, stack 对象的默认构造形式:
stack(const stack &stk);//拷贝构造函数
2.stack的赋值函数
stack& operator=(const stack &stk);//重载等号操作符
3.stack的数据存取函数
push(elem);//向栈顶添加元素
pop();//从栈顶移除第一个元素
top();//返回栈顶元素
4.stack的大小函数
empty();//判断堆栈是否为空
size();//返回堆栈的大小