建网站推广乌海学校网站建设
web/
2025/9/26 6:03:22/
文章来源:
建网站推广,乌海学校网站建设,wordpress 访问地址修改密码,微信服务号绑定网站吗STL详解 —— stack和queue的介绍及使用 stackstack的定义方式stack的使用 queuequeue的定义方式queue的使用 stack
stack是一种容器适配器#xff0c;专门用在具有后进先出操作的上下文环境中#xff0c;其只能从容器的一端进行元素的插入与提取操作。
stack的定义方式 首… STL详解 —— stack和queue的介绍及使用 stackstack的定义方式stack的使用 queuequeue的定义方式queue的使用 stack
stack是一种容器适配器专门用在具有后进先出操作的上下文环境中其只能从容器的一端进行元素的插入与提取操作。
stack的定义方式 首先先介绍一下容器适配器。
容器适配器是一种设计模式用于在现有容器的基础上提供新的接口或修改现有接口以满足特定的需求或者提供特定的功能。在C中容器适配器通常是通过组合一个已有的容器来实现的。
在C标准库中容器适配器是通过模板类来实现的它们提供了特定的接口使得用户可以方便地使用已有的容器来实现不同的数据结构或算法。
常见的容器适配器包括
stack栈提供了后进先出LIFO的数据结构只允许在栈顶进行插入和删除操作。 queue队列提供了先进先出FIFO的数据结构只允许在队列的一端进行插入操作另一端进行删除操作。 priority_queue优先队列提供了一种特殊的队列其中的元素按照一定的优先级顺序进行排序。
容器适配器通常不直接提供对底层容器的访问而是通过一组特定的操作接口来实现特定的功能。这些操作接口包括压入元素、弹出元素、访问栈顶元素等。 方式一 使用默认的适配器定义栈。
stackint st1;
方式二 使用特定的适配器定义栈。
stackint, vectorint st2;
stackint, listint st3;
stack的使用
stack当中常用的成员函数如下
成员函数功能empty()判断栈是否为空size()获取栈中有效元素个数top()获取栈顶元素push()元素入栈pop()元素出栈swap()交换两个栈中的数据
#include iostream
#include vector
#include stack
using namespace std;int main()
{stackint, vectorint s1;s1.push(1);s1.push(2);s1.push(3);s1.push(4);cout s1.size() endl; //4while (!s1.empty()){cout s1.top() ;s1.pop();}cout endl; //4 3 2 1return 0;
}
queue
队列是一种容器适配器专门用在具有先进先出操作的上下文环境中其只能从容器的一端插入元素另一端提取元素。
queue的定义方式
方式一 使用默认的适配器定义队列。
queueint q1;
方式二 使用特定的适配器定义队列。
queueint, vectorint q2;
queueint, listint q3;
queue的使用
queue当中常用的成员函数如下
成员函数功能empty()判断队列是否为空size()获取队列中有效元素个数front()获取队头元素back()获取队尾元素push()队尾入队列pop()队头出队列swap()交换两个队列中的数据
#include iostream
#include list
#include queue
using namespace std;int main()
{queueint, listint q;q.push(1);q.push(2);q.push(3);q.push(4);cout q.size() endl; //4while (!q.empty()){cout q.front() ;q.pop();}cout endl; //1 2 3 4return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82037.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!