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

廊坊市建设局网站发布推广信息的网站

廊坊市建设局网站,发布推广信息的网站,成都装修公司哪家口碑最好,乌鲁木齐信息推广文章目录 引言栈和队列 priority_queue仿函数迭代器区间 引言 栈的特性是先进后出,队列的特性是先进先出,然而双向队列同时具有栈和队列的特性,所以我们可以通过双向队列来适配出栈和队列。 先看库里面 栈和队列 stack和queue模板参数里面都…

文章目录

  • 引言
    • 栈和队列
  • priority_queue
    • 仿函数
    • 迭代器区间

引言

栈的特性是先进后出,队列的特性是先进先出,然而双向队列同时具有栈和队列的特性,所以我们可以通过双向队列来适配出栈和队列。
先看库里面

栈和队列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
stack和queue模板参数里面都有一个class Container = deque,就是说库里面在实现它们时默认是通过deque适配出来的。
比如stack的push底层其实是通过调用deque的push_back()实现的,pop底层是通过调用deque的pop_back()实现的
在这里插入图片描述

对于queue的push底层是通过调用deque的push_front()实现的,pop是通过调用deque的1pop_front()实现的
在这里插入图片描述

priority_queue

优先队列底层就是堆,使用数组实现的,所以我们可以使用容器vector适配出优先队列
在这里插入图片描述

仿函数

此外还有一个参数
class Compare = less
这个参数其实就是一个仿函数,什么是仿函数呢?就是把一个类对象像函数一样使用。怎么实现呢?底层就是把这个类重载了一个()运算符。在传这个参数时,我们可以自己实现一个仿函数去传,也可以使用库里面的
在这里插入图片描述
在这里插入图片描述
这两个是库里面包含的两个仿函数,用于比较大小,去排序,值得注意的是这里的less指的是升序,而greater是指降序
在这里插入图片描述

在这里插入图片描述
因此优先队列默认不传第二个参数的情况下,输出结果是升序

//仿函数/函数对象
//重载了括号,让类可以向函数一样被调用
template<class T>
class Less
{
public:bool operator()(const T& x, const T& y){return x < y;}
};template<class T>
class Greater
{
public:bool operator()(const T& x, const T& y){return x > y;}
};库里面
//template <class T> struct less : binary_function <T, T, bool> {
//	bool operator() (const T& x, const T& y) const { return x < y; }
//};
//
//template <class T> struct greater : binary_function <T, T, bool> {
//	bool operator() (const T& x, const T& y) const { return x > y; }
//};

迭代器区间

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

容器对象的构造函数还支持迭代器区间初始化,就是通过迭代器去迭代别的对象中存的值来对这个对象进行初始化。

template<class InputInterator>
priority_queue(InputInterator first, InputInterator last)
{//插入数据while (first != last){_con.push_back(*first);++first;}//建堆//从最后一个非叶子节点开始建堆-----关键for (int i = (_con.size()-1-1) / 2; i >= 0; i--){AdjustDown(i);}
}
http://www.hrbkazy.com/news/45831.html

相关文章:

  • 论坛申请网站备案前置审批百度网盘app官方下载
  • 用个人电脑做网站服务器查看浏览过的历史记录百度
  • 杭州滨江网站建设公司郑州seo关键词自然排名工具
  • 织梦网站织梦做英文版的交换链接是什么
  • 温州网站建设服务电子商务网络公司seo代码优化有哪些方法
  • 在线写代码的网站电商培训学校
  • 网站日常更新谁做自助建站官网
  • 网店运营教学windows优化大师和360哪个好
  • 网站开发流程asp营销型网站seo
  • 西安网站设设青岛seo杭州厂商
  • ImQQ网站是怎么做的哪里有学电脑培训班
  • 网站建设营销方案360优化大师旧版本
  • 外贸网站是公司才能进去吗代写文章价格表
  • 怎么在.Net中做团购网站百度推广培训班
  • 宁波建设银行网站分部石家庄关键词优化平台
  • 效果图网站接单软件关键词排名
  • 网站建设怎样核算免费网站推广网站破解版
  • 深圳西乡网站建设关键词排名优化流程
  • 平面设计套用模板网站北京seo优化外包
  • 用asp.net做购物车网站刷关键词排名软件有用吗
  • 微网站的链接怎么做的武汉seo网站优化
  • 怎么做网站网页微信软文广告经典案例
  • 威县做网站报价婚恋网站排名前三
  • 个人网站后期怎么做企业关键词优化公司哪家强
  • 全国网站建设公司有多少家360搜索推广官网
  • wordpress能建论坛吗有名的seo外包公司
  • 广州网站案例展示微信推广方式有哪些
  • 运城网站建设求职简历武汉抖音seo搜索
  • 网站开发制作阶段的说课稿百度手机app下载并安装
  • 可以免费做演播的听书网站网上打广告有哪些软件