当前位置: 首页 > news >正文

建设玩外汇平台网站湖南网站建设推广

建设玩外汇平台网站,湖南网站建设推广,帝国cms漏洞,网页游戏网站建设文章目录 queuequeue的介绍queue的使用 priority_queuepriority_queue介绍priority_queue使用 queue queue的介绍 队列是一种容器适配器,专门用于上下文先进先出的操作中。队列的特性是先进先出,从容器的一端插入,另一端提取元素。   队列…

文章目录

  • queue
    • queue的介绍
    • queue的使用
  • priority_queue
    • priority_queue介绍
    • priority_queue使用

queue

queue的介绍

  队列是一种容器适配器,专门用于上下文先进先出的操作中。队列的特性是先进先出,从容器的一端插入,另一端提取元素。
  队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从队尾入队列,从队头出队列。
  底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类。该底层容器应至少支持以下操作:empty(检测队列是否为空)、size(返回队列中有效元素的个数)、front(返回队头元素的引用)、back(返回队尾元素的引用)、push_back(在队列尾部插入元素)、pop_front(在队列头部删除元素)。
  标准容器类deque和list满足了这些要求。默认请情况下,如果没有为queue实例化指定底层容器类,则默认使用标准容器deque。

queue的使用

函数声明接口说明
queue()构造空的队列
empty()检测队列是否为空,为空就返回true,否则就返回false
size()返回队列中有效元素的个数
front()返回队头元素的引用
back()返回队尾元素的引用
push()在队尾将元素val插入队列
pop()将队头元素弹出队列
int main()
{deque<int> mydeck(3, 100);list<int> mylist(2, 200);queue<int> first;queue<int> second(mydeck);queue<int, list<int>> third;queue<int, list<int>> fourth(mylist);return 0;
}

在这里插入图片描述

int main()
{queue<int> myqueue;int sum(0);cout << myqueue.empty() << endl;for (int i = 1; i <= 10; i++)myqueue.push(i);cout << myqueue.empty() << endl;while (!myqueue.empty()){sum += myqueue.front();myqueue.pop();}cout << "total:" << sum << endl;return 0;
}

在这里插入图片描述

int main()
{queue<int> myints;cout << "0.size:" << myints.size() << endl;for (int i = 0; i < 5; i++)myints.push(i);cout << "1.size:" << myints.size() << endl;myints.pop();cout << "2.size:" << myints.size() << endl;return 0;
}

在这里插入图片描述

int main()
{queue<int> myqueue;myqueue.push(10);myqueue.push(20);myqueue.front() -= myqueue.back();cout << "myqueue.front():" << myqueue.front() << endl;myqueue.back() += myqueue.front();cout << "myqueue.back():" << myqueue.back() << endl;return 0;
}

在这里插入图片描述

  在C++11中,stack的成员函数也新增了emplace和swap。

priority_queue

priority_queue介绍

  优先队列是一种容器适配器,根绝严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。可以当做堆来理解,实际上和堆基本一致。在堆中可以随时插入元素,并且智能检索最大的堆元素(优先队列中位于顶部的元素)。
  优先队列被实现为容器适配器,容器适配器即将特定容器类封装作为其底层容器类。priority_queue提供一组特定的成员函数来访问其元素。元素从特定容器的尾部被抛出,其称为有限队列的顶部。
  底层容器可以是任何标准容器类模板,也可以是其他特定设计的容器类。容器应该可以通过迭代器访问,并支持以下操作:empty(检测容器是否为空)、size(返回容器中有效元素的个数)、front(返回容器中第一个元素的引用)、push_back(在容器尾部插入元素)、pop_back(删除容器尾部的元素)。需要注意的是,这些操作是priority_queue必须具备的,并非是只能有这些操作。
  标准容器类vector和deque满足这些需求。默认情况下,如果没有为特定的priority_queue类实例化指定容器类,则使用vector。
  需要支持随机访问迭代器,以便始终在内部保持堆结构。容器适配器通过在需要时自动调用算法函数make_heap、push_heap和pop_heap来自动完成此操作。
  优先级队列默认使用vector作为其底层存储数据的容器,在vector上又使用了堆算法将vector中元素构造成堆的结构,因此priority_queue就是堆,所有需要用到堆的地方,都可以考虑使用priority_queue。默认情况下priority_queue是大堆。

priority_queue使用

函数声明接口说明
priority_queue()/priority_queue(first, last)构造一个优先级队列
empty()检测优先级队列是否为空,为空就返回true,否则就返回false
size()返回优先队列中有效元素的个数
top()返回优先级队列中最大(最小元素),即堆顶元素
push()在优先级队列中插入元素
pop()删除优先级队列中的最大(最小)元素,即堆顶元素
class mycomparison
{bool reverse;
public:mycomparison(const bool& revparam = false){reverse = revparam;}bool operator() (const int& lhs, const int& rhs) const{if (reverse)return (lhs > rhs);elsereturn (lhs < rhs);}
};int main()
{int myints[] = { 10, 60, 50, 20 };priority_queue<int> first;priority_queue<int> second(myints, myints + 4);priority_queue<int, vector<int>, greater<int>> third(myints, myints + 4);typedef priority_queue<int, vector<int>, mycomparison> mypq_type;mypq_type fourth;mypq_type fifth(mycomparison(true));return 0;
}

在这里插入图片描述

int main()
{priority_queue<int> mypq;int sum(0);for (int i = 0; i < 10; i++)mypq.push(i);cout << "mypq size:" << mypq.size() << endl;cout << "mypq top:" << mypq.top() << endl;while (!mypq.empty()){sum += mypq.top();mypq.pop();}cout << "total:" << sum << endl;return 0;
}

在这里插入图片描述

http://www.shuangfujiaoyu.com/news/57105.html

相关文章:

  • 福田网站建设的工具营销网站制作
  • 山东电力建设第一工程有限公司网站注册百度搜不干净的东西
  • 普陀区网站建设前端网站平台搭建
  • 做词云的网站优化的意思
  • 做网站的竞品分析推广营销软件
  • 网站开发完后部署到网上企业邮箱账号
  • 在线crm在线oa免费观看独立站seo推广
  • 分类信息网站建设计划手机网站seo免费软件
  • 网站详细页制作宣传推广渠道有哪些
  • 舟山论坛网站建设微信指数是搜索量吗
  • wordpress文章添加动态数据杭州seo运营
  • 织梦网站添加下载电商中seo是什么意思
  • 网站独立ip多代表什么 今日头条
  • 推广网站怎么做模板网站搜索排名优化软件
  • wordpress 知识 管理云南网络营销seo
  • 我要建立一个网站推广软文怎么写样板
  • 网站开发申请如何在外贸平台推广
  • 做网站电话沧州优化大师win10能用吗
  • 王者荣耀网站开发目的站长工具永久
  • 用java做网站步骤怎么搜索关键词
  • 日本真人做爰直播网站温州seo优化
  • b2b网站栏目北京学电脑的培训机构
  • 深圳华强北网站建设磁力王
  • crm免费客户管理系统焦作seo公司
  • 深圳市富通建设工程有限公司网站网站信息查询
  • 旅游网站建设的相关报价本网站三天换一次域名
  • 做暧在线观看网站申请网址怎么申请的
  • 整形医院网站建设软文网站名称
  • 12306网站开发过程互联网公司
  • 网站开发实训总结网络营销模式