Stack
适配器
适配器就是将容器转换成一个满足设计的要求的容器,比如Stack(栈),就将顺序容器转换成满足FIFO的容器.
除了Stack之外,适配器还有Queue和Priority Queues.
头文件
#include<Stack>
定义元素
stack<class> VerName;
定义的时候也可以指定stack的容器,但没有特殊需求还是按默认来好
初始化操作
| 函数 | 功能 |
|---|---|
| stack() | 默认的初始化函数 |
| stack(const Container& cntr=Container()) | 将顺序容器构造Stack |
成员函数
| 函数 | 功能 |
|---|---|
| empty() | 返回stack是否为空 |
| pop() | 删除stack顶部的元素 |
| push(element) | 再stack顶部添加元素 |
| size() | 返回stack内元素的个数 |
| top() | 返回stack栈顶的元素 |
Tips:
- 一般我们用top()读取元素之后,立即调用pop()删除元素.
- 在调用top()和pop()的时候一定先要检查是否empty().
样例
#include<stack>
#include<iostream>
using namespace std;
int main()
{
stack<int> Stack;
for(int i=1;i<=10;i++)
Stack.push(i);
cout<<"元素个数:"<<Stack.size()<<endl;
while(!Stack.empty())
{
int Temp;
Temp=Stack.top();
Stack.pop();
cout<<"栈顶元素为:"<<Temp<<endl;
}
return 0;
}
输出
元素个数:10
栈顶元素为:10
栈顶元素为:9
栈顶元素为:8
栈顶元素为:7
栈顶元素为:6
栈顶元素为:5
栈顶元素为:4
栈顶元素为:3
栈顶元素为:2
栈顶元素为:1
本文介绍了栈(Stack)这一数据结构的实现原理及其在C++中的应用方式。包括栈的初始化、基本操作如压栈(push)、弹栈(pop)、获取栈顶元素(top)等,并通过一个完整的示例展示了如何利用栈进行元素的存储和访问。
894

被折叠的 条评论
为什么被折叠?



