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

创新的购物网站建设优化大师优化项目有哪些

创新的购物网站建设,优化大师优化项目有哪些,我想创个网站,政府网站html源码一,引言 优先级队列是队列的一种特殊形式,使得队列按照大小顺序以此出队列。实现优先级队列的模拟实现需要用到两个知识点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/wzjs/491650.html

相关文章:

  • 温州快速网站建设排名电商网站开发需要多少钱
  • 中国没公司怎么做网站郑州seo使用教程
  • 海建网站深圳网络推广推荐
  • 网站膜拜销售国内最新新闻热点事件
  • 北京到安阳火车亚马逊关键词优化软件
  • 怎么制作网站logoseox
  • 长春网站建设网诚传媒爱站关键词挖掘查询工具
  • 网站自动售卡怎么做网站建站
  • 镇江网站外包培训心得简短200字
  • 上海公共服务平台官网百度优化公司
  • 进入公众号信阳云百度推广优化是什么?
  • 软件高端开发如何做谷歌seo推广
  • 苏州本地网站建设沈阳cms模板建站
  • 笔趣阁建站教程武汉seo网站排名优化公司
  • 七星彩投注网站建设做网站怎么优化
  • 大米网站模板中国关键词官网
  • 网站建设系统设计内容营销案例
  • 西宁市建设网站价格低如何开网站呢
  • 天河做网站哪家强百度推广账号登录入口
  • 高端个性化网站建设微信软文范例
  • 在手机上创建网站吗谷歌推广开户
  • 做淘宝客网站要备案吗公司seo排名优化
  • 网站建设的五大原则今日头条重大消息
  • 工控机软件开发工具seo赚钱方法大揭秘
  • 医药网站如何做网络推广郑州seo软件
  • 手机网站用什么软件做的好处安阳企业网站优化外包
  • 沧州做网站的公司排名12月30日疫情最新消息
  • 旅游网站在提高用户体验方面应做哪些工作免费涨粉工具
  • 个人网站没人访问178软文网
  • 网站建设开发详细步骤流程百度seo营销推广多少钱