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

怎么自己创建网站免费济南优化网页

怎么自己创建网站免费,济南优化网页,宁波企业建站,网站要怎么做的吗一&#xff1a;仿函数 开始模拟前咱先了解一下仿函数。有了它&#xff0c;我们就可以自己传个代码让优先级队列升序还是降序&#xff0c;自己模拟时也不用在需要升序降序时改代码。这是个很有用的东西。 不写模版也可以&#xff0c;但模版能用在更多地方嘛 template <class …

一:仿函数

开始模拟前咱先了解一下仿函数。有了它,我们就可以自己传个代码让优先级队列升序还是降序,自己模拟时也不用在需要升序降序时改代码。这是个很有用的东西。

不写模版也可以,但模版能用在更多地方嘛

template <class T>
struct Less
{bool operator()(const T& x, const T& y){return x < y;}
};
template<class T>
struct Greater
{bool operator()(const T& x, const T& y){return x > y;}
};

这里没用class,因为反正都要用的就直接用默认public的struct了。定义时可以看成重载小括号,千万别漏了嗷。接下来用直接像函数一样用就行了,我们来模拟。

二:优先级队列

namespace hhh {template<class T, class Container = vector<T>, class Compare = Less<int>>
//上面第三个参数就是仿函数class priority_queue{public:priority_queue() {}template<class InputIterator>priority_queue(InputIterator first, InputIterator last):_con(first, last){for (int i = (_con.size() - 2) / 2; i >= 0; i--)adjust_down(i);}void adjust_up(int child){Compare com;//使用仿函数前别忘先搞个对象int parent = (child - 1) / 2;while (child > 0){if (com(_con[parent], _con[child]))//这里就在用了 看到吧不用写小于大于了{swap(_con[child], _con[parent]);child = parent;parent = (child - 1) / 2;}else break;}}void adjust_down(int parent){Compare com;size_t child = parent * 2 + 1;while (child < _con.size()){if (child + 1 < _con.size() &&com(_con[child], _con[child + 1]))//这里也是++child;if (com(_con[child], _con[parent])){swap(_con[child], _con[parent]);parent = child;child = parent * 2 + 1;}else break;}}void push(const T& x){_con.push_back(x);adjust_up(_con.size() - 1);}void pop(){swap(_con[0], _con[_con.size() - 1]);_con.pop_back();adjust_down(0);}const T& top(){return _con[0];}bool empty(){return _con.empty();}size_t size(){return _con.size();}private:Container _con;};
}

这个实现就是用空间适配器,还有堆的思想,没啥难的

感谢你看到这,大家共同进步!

http://www.hengruixuexiao.com/news/46312.html

相关文章:

  • 运用虚拟机建设网站单词优化和整站优化
  • 网站建设哪几家好一些自媒体平台排名前十
  • 西安关键词排名软件赣州seo
  • 牡丹江信息网手机版招聘seo行业岗位有哪些
  • 做网站找公司怎么找网站视频播放代码
  • 购物网站服务中心百度是国企还是央企
  • 独立商城网站怎么做app推广怎么做
  • 荥阳市城乡建设规划网站潮州网络推广
  • 传奇广告网站怎么做适合40岁女人的培训班
  • 外贸公司 网站台州seo公司
  • 做外贸的经常浏览的三个网站项目推广
  • 婚恋网站 没法做网站维护主要做什么
  • 常见的网站开发工具重庆森林台词
  • 自己做的网站如何上传文件百度学术查重
  • 网站开发公司怎么能接到单子网站换友链平台
  • 漫画门户网站怎么做的品牌运营管理有限公司
  • 个人如何网站备案指数平滑法
  • 知名草根博客 卢松松网站被攻击公众号软文是什么意思
  • 晚上一个人睡不着偷偷看b站谷歌搜索引擎为什么打不开
  • 设计师网站欣赏昆明seo优化
  • 旅游网站建设 策划书上海网站建设关键词排名
  • 静态网站开发技术和动态网站开发技术的区别软文营销案例200字
  • 国外网站 dns百度的seo关键词优化怎么弄
  • 淄博企业网站建设哪家专业网络推广员具体做什么的
  • 网站建设公司选择标准百度权重10的网站
  • 互联网保险的特点有哪些网站如何优化
  • 网站在线建站阿里云官网首页
  • 邢台网站推广费用微信推广平台自己可以做
  • wordpress chess简述seo和sem的区别与联系
  • 便利的网站建设公司网文推广怎么做