概念
栈是一种后进先出的数据结构,也就是LIFO(last in first out) ,最后加入栈的元素将最先被取出来,在栈的同一端进行数据的插入与取出,这一段叫做“栈顶”。
头文件
1 |
名字空间
1 | std |
构造函数
定义:
1 | stack<Type, Container = deque<T> > |
这对尖括号中有两个参数,第一个是Type
,表示栈中存放的数据的类型,比如int,double
,或者结构体之类。
第二个参数指明底层实现的容器类型,也就是指明这个栈的内部实现方式,比如vector,deque,list
。如果不指明它,默认使用deque
(双端队列)。当然一般情况下不需要指定这一项参数。
操作
语法:
- ==
- <=
- >=
- <
- >
- !=
所有的这些操作可以被用于堆栈。相等指堆栈有相同的元素并有着相同的顺序。
常用函数
empty
语法:
1 | bool empty(); |
如当前堆栈为空,empty()
函数 返回 true
否则返回false
。
pop
语法:
1 | void pop(); |
pop()
函数移除堆栈中最顶层元素。
push
语法:
1 | void push( const TYPE &val ); |
push()
函数将 val
值压栈,使其成为栈顶的第一个元素。
size
语法:
1 | size_type size(); |
size()
函数返当前堆栈中的元素数目。
top
语法:
1 | TYPE &top(); |
top()
函数返回对栈顶元素的引用。