栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。栈是只能在某一端插入和删除的特殊线性表。用桶堆积物品,先堆进来的压在底下,随后一件一件往上堆。取走时,只能从上面一件一件取。读和取都在顶部进行,底部一般是不动的。栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一端称栈底。插入一般称为进栈,删除则称为退栈。 栈也称为后进先出表。
双开口:可以在首尾两端进行插入和删除操作连续空间:deque并不是真正连续的,而是由一段段连续的小空间组合而成的| empty | 测试 stack 是否为空。空为true,反之false |
| pop | 从 stack 的顶部删除元素。void pop() |
| push | 将元素添加到 stack 顶部。void push(value) |
| size | 返回 stack 中的元素数量。int size() |
| top | 返回对 stack 顶部元素的引用。int top() |
- #include
-
- using namespace std;
-
- int main(){
- stack<int> s;
- cout << s.empty() << endl;
-
- s.push(1);
- s.push(2);
- cout << s.empty() << endl;
- cout << s.size() << endl;
- cout << s.top() << endl;
-
- s.pop();
- cout << s.empty() << endl;
- cout << s.size() << endl;
- cout << s.top() << endl;
-
- /*
- 1
- 0
- 2
- 2
- 0
- 1
- 1
- 请按任意键继续. . .
- */
- }