作者:@小萌新
专栏:@C++初阶
作者简介:大二学生 希望能和大家一起进步
本篇博客介绍:本篇博客会简单的介绍STL中的栈和队列
栈是一个先进先出的数据结构 它的数据从头部插入 从头部删除
一般来说栈是使用顺序表来实现的
如果说你对于栈这种数据结构还不熟悉或者说根本没学过的话 可以参考下萌新
的这篇博客
在STL中有两种使用方式
stack<int> st1;
stack<int, vector<int>> st2;
stack<int, list<int>> st3;
这里的适配器是什么意思呢?
实际上就是指定了我们在底层使用哪种方式实现栈
比如说
stack<int, vector<int>> st2;
这就是指定了我们在底层使用vector实现stack
这里的这些在经历了string vector list之后是不是就轻车熟路了啊
所以下面我们直接用一段遍历将上面重要的函数全部用一边就可以
代码和显示效果如下
int main()
{
stack<int> st1;
//stack> st2;
//stack> st3;
st1.push(1);
st1.push(2);
st1.push(3);
st1.push(4);
st1.push(5);
while (!st1.empty())
{
cout << st1.top() << " ";
st1.pop();
}
cout << endl;
return 0;
}
队列是一种经典的尾插头出的数据结构 类似下图
如果说你对于队列这种数据结构还不熟悉或者说根本没学过的话 可以参考下萌新
的这篇博客
定义方式和栈一眼 同样有两种
方式一:
queue<int> q1;
方式二:
指定适配器定义
代码表示如下
queue<int,vector<int>> q2;
queue<int,list<int>> q3;
还是一眼 我们使用一段代码来实现上面大部分重要的内容
代码和演示效果图如下
int main()
{
queue<int> q1;
queue<int,vector<int>> q2;
queue<int,list<int>> q3;
q1.push(1);
q1.push(2);
q1.push(3);
q1.push(4);
q1.push(5);
while (!q1.empty())
{
cout << q1.front() << " ";
q1.pop();
}
return 0;
}
stack和queue是两种容器适配器 大体与我们之前学的数据结构类似
本篇博客介绍了STL库中stack和queue怎么使用
其实学到这里了 这些使用方式应该一眼就能看明白了 不过为了博客整体的工整萌新还是写下了这篇文章
如果这篇文章帮助到了你 别忘记一键三连啊
阿尼亚 哇酷哇酷!