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

做阿里网站卖东西赚钱吗做美团网站代码

做阿里网站卖东西赚钱吗,做美团网站代码,手机网站建设好吗,企业手机网站建设价位一,引言 优先级队列是队列的一种特殊形式,使得队列按照大小顺序以此出队列。实现优先级队列的模拟实现需要用到两个知识点1,队列数据的调整算法,以及仿函数。 二,调整算法 优先级队列的调整算法底层就是堆的调整算法。有向下调整和向上调整两种。具体在…

一,引言

优先级队列是队列的一种特殊形式,使得队列按照大小顺序以此出队列。实现优先级队列的模拟实现需要用到两个知识点1,队列数据的调整算法,以及仿函数。

二,调整算法


优先级队列的调整算法底层就是堆的调整算法。有向下调整和向上调整两种。具体在往期的文章中有具体的讲解:
https://blog.csdn.net/2301_81893652/article/details/146443802?spm=1001.2014.3001.5501

三,仿函数

仿函数不是函数,是一个类。类内部实现()的运算符重载,返回bool类型。具体实现如下:

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;}
};

四,priority_queue的具体实现

在队queue的基础上,通过仿函数控制升序还是降序,每次进行push操作时都在之后加上调整算法。在pop操作时也都加上调整算法。其他的接口和queue保持一致。具体实现如下:

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;}
};namespace Cao
{// 默认是大堆template<class T, class Container = vector<T>, class Compare = Less<T>>class priority_queue{public:void AdjustUp(int child){Compare com;int parent = (child - 1) / 2;while (child > 0){//if (_con[parent] < _con[child])if(com(_con[parent], _con[child])){swap(_con[child], _con[parent]);child = parent;parent = (child - 1) / 2;}else{break;}}}void push(const T& x){_con.push_back(x);AdjustUp(_con.size() - 1);}void AdjustDown(int parent){// 先假设左孩子小size_t child = parent * 2 + 1;Compare com;while (child < _con.size())  // child >= n说明孩子不存在,调整到叶子了{// 找出小的那个孩子//if (child + 1 < _con.size() && _con[child] < _con[child + 1])if (child + 1 < _con.size() && com(_con[child], _con[child + 1])){++child;}//if (_con[parent] < _con[child])if (com(_con[parent],_con[child])){swap(_con[child], _con[parent]);parent = child;child = parent * 2 + 1;}else{break;}}}void pop(){swap(_con[0], _con[_con.size() - 1]);_con.pop_back();AdjustDown(0);}const T& top(){return _con[0];}size_t size() const{return _con.size();}bool empty() const{return _con.empty();}private:Container _con;};
}

http://www.dtcms.com/a/616301.html

相关文章:

  • 大连做网站哪里好摄影基地设计
  • 什么是门户网站简答电子商务网站建设流程
  • 注册网站验证码网页设计基础教程
  • 办个宽带一年大概多少钱甘肃谷歌seo
  • 看网站的访问量网站开发会遇到的问题
  • 给别人做网站去掉版权php html5企业网站源码
  • 网站设计模板图购物网站哪个是正品
  • 杭州住房城乡建设网站查询做物流网站
  • 网站图片alt属性设置wordpress压缩缩略图体积
  • 商城网站建站方案试用网站如何做
  • 接入商 济南网站建设建立网站 英语怎么说
  • 制作网站协议按颜色分类的网页设计欣赏网站
  • 做俄罗斯外贸网站推广天翼云wordpress插件
  • 重庆建站多少钱一年黄骅贴吧李官庄刘婷
  • 做彩票网站合法吗黑龙江新闻法治在线回放
  • 盐城城南建设局一局网站帮公司做网站赚钱吗
  • 北京有多少家网站星河东莞网站建设
  • 上海专做特卖的网站wordpress 好seo吗
  • 谷歌搜图柳市网站优化
  • C语言编译器的选择与使用
  • Clip:Learning Transferable Visual Models From Natural Language Supervision
  • 湟源县wap网站建设公司十大网页游戏排行
  • 工业皮带怎么做免费的网站加盟产品网站建设方案
  • 哪些可以免费做网站网站开发与设计实训报告1000字
  • 昆明市住房和城乡建设局门户网站军事新闻最新消息中国视频
  • 高端网站建设 房产深圳华强北电子商城
  • 在柬埔寨做网络销售推网站怎样换wordpress域名
  • 万远翔网站建设河南省工程建设业协会网站
  • 新网站seo技术wordpress修改自适应
  • 做标记网站做商城网站的企业