1 /*
2 入门之栈(Stack)和队列(Queue)
3 在C++中STL中预置了<stack>和<queue>
4 简单介绍栈和队列的思想和使用方法
5 栈:先入后出(LIFO),可以理解为将球放进一个一段封闭的管子,只能从入口区出,先进的球只能最后出来
6 队列:先入先出(FIFO),可以理解为将球放进不封闭的管子,球从另一端出来,先进的球先出
7 常见应用:栈可以用于深搜(DFS),队列可以用于宽搜(BFS)
8 只有看看例子就可以很好的理解栈和队列了,简单的先介绍这些
9 */
10 #include<iostream>
11 #include<stack>
12 #include<queue>
13 using namespace std;
14 stack<int>a;
15 queue<int>b;
16 int main()
17 {
18 int c[] = {1,2,3};
19 for(int i=0; i<3; ++i)
20 {
21 a.push(c[i]);//入栈
22 cout << a.top() << endl;
23 }
24 for(int i=0; i<3; ++i)
25 {
26 cout << a.top() << endl;
27 a.pop();//出栈
28 }
29 cout << endl;
30 for(int i=0; i<3; ++i)
31 {
32 b.push(c[i]);//入队列
33 cout << b.front() << endl;
34 }
35 for(int i=0; i<3; ++i)
36 {
37 cout << b.front() << endl;
38 b.pop();//出队列
39 }
40 return 0;
41 }