STL容器之stack容器

STL-stack

Posted by Zhihao on 2020-11-22

The First Title Picture

基础

stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口。

栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为。

栈中进入数据称为 —- 入栈 push

栈中弹出数据称为 —- 出栈 pop

The First Title Picture

代码

Talk is cheap, show me the code.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include<iostream>
using namespace std;
#include<stack>


/*
构造函数:
stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
stack(const stack &stk); //拷贝构造函数
赋值操作:
stack& operator=(const stack &stk); //重载等号操作符
数据存取:
push(elem); //向栈顶添加元素
pop(); //从栈顶移除第一个元素
top(); //返回栈顶元素
大小操作:
empty(); //判断堆栈是否为空
size(); //返回栈的大小
*/

void test01()
{
stack<int> s1;
for (int i = 0; i < 10; i++)
{
s1.push(i);
}

stack<int> s2(s1);

stack<int> s3;
s3 = s2;

cout << "现在的栈大小:" << s3.size() << endl;
while (!s3.empty())
{
cout << "栈顶的元素是:" << s3.top() << endl;
s3.pop();
cout << "现在的栈大小:" << s3.size() << endl;
}



}


int main()
{
test01();
system("pause");
return 0;
}

...

...

00:00
00:00