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

建筑公司做网站的好处杭州发布最新消息

建筑公司做网站的好处,杭州发布最新消息,wordpress资源付费,网站主页如何配色优先级队列 无参构造 priority_queue():c(){}区间构造 区间构造需要用到迭代器#xff0c;而迭代器每个容器的类型不一样#xff0c;所以用模板给出#xff0c;初始化列表#xff0c;把用户给进来的元素空间起始位置#xff0c;放到优先级队列中底层空间的位置#xf…优先级队列 无参构造 priority_queue():c(){}区间构造 区间构造需要用到迭代器而迭代器每个容器的类型不一样所以用模板给出初始化列表把用户给进来的元素空间起始位置放到优先级队列中底层空间的位置然后进行调整把它调整成一个堆 templateclass Iteratorpriority_queue(Iterator first, Iterator last): c(first,last){//将c中的元素调整成堆的结构size_t count c.size();//倒数第一个非叶子结点int root (count - 2) / 2;for (; root 0; root--)AdjustDown(root);}元素操作 void push(const T data){c.push_back(data);//插完元素后破坏了堆的性质重新调整AdjustUp(c.size() - 1);}void pop(){if (empty())return;swap(c.front(), c.back());c.pop_back();//重新调整AdjustDown(0);}size_t size()const{return c.size();}bool empty()const{return c.empty();}//堆顶元素不允许修改因为堆顶元素修改可能会破坏堆的特性const T top() const{return c.front();}向下调整和向上调整 参考下面这个链接里的内容 详解堆的应用 如何判断com中双亲放在前面还是孩子放在前面 默认按照less方式进行比较 less----大堆-------大的元素往上提 com(c[parent],c[child])双亲比孩子小让孩子往上走 bool operator()(const T left ,const T right) {return left right; }大于的方式比较-------小堆 小于的方式比较-------大堆 完整代码 #includeiostream #includealgorithm #includevector using namespace std;namespace bite {templateclass T ,class Container vectorT,class Compare lessTclass priority_queue{public:priority_queue():c(){}templateclass Iteratorpriority_queue(Iterator first, Iterator last): c(first,last){//将c中的元素调整成堆的结构size_t count c.size();//倒数第一个非叶子结点int root (count - 2) / 2;for (; root 0; root--)AdjustDown(root);}void push(const T data){c.push_back(data);AdjustUp(c.size() - 1);}void pop(){if (empty())return;swap(c.front(), c.back());c.pop_back();AdjustDown(0);}size_t size()const{return c.size();}bool empty()const{return c.empty();}//堆顶元素不允许修改因为堆顶元素修改可能会破坏堆的特性const T top() const{return c.front();}private:void AdjustDown(int parent){int child parent * 2 1;while (child c.size()){//找以parent为根的两个孩子中较大的孩子if (child 1 c.size() com(c[child], c[child 1]))child 1;//检测双亲是否满足情况if (com(c[parent] , c[child])){swap(c[child], c[parent]);parent child;child parent * 2 1;}elsereturn;}}void AdjustUp(int child){int parent (child - 1) / 2;while (child){if (com(c[parent] , c[child])){swap(c[child], c[parent]);child parent;parent (child - 1) / 2;}else{return;}}}private:Container c; //存储方式Compare com; //比较方式};}测试 int main() {int array[] { 8, 1, 9, 3, 6, 4, 5, 0, 2, 7 };bite::priority_queueintq(array, array sizeof(array) / sizeof(array[0]));cout q.top() endl;system(pause);return 0; }
http://www.yutouwan.com/news/376109/

相关文章:

  • 昆山做网站好的wordpress内容折叠
  • 酷炫网站大良营销网站建设资讯
  • 网站怎么建设商城给网站做seo的必要性
  • 专业邯郸做网站网站开发人员定罪
  • 网站管理系统后台营销战略咨询公司
  • 电子商务网站建设成都网站后台fpt
  • 网站制作的报价大约是多少石家庄网站托管
  • 网站备案时间就是正式上线时间吗移动通信网站建设
  • 临平建设局网站关于配色的网站推荐
  • 网站解析需要多久生效长春关键词优化平台
  • 外贸建站新闻资讯邹平建设网站
  • 淮安公司企业网站建设wordpress 新建php文件
  • 企业网站分析案例做一个网站大概需要多少钱
  • 百度怎样才能搜到自己的网站wordpress 虾米页面
  • 公司就我一个网站制作查工程建设不良记录免费的网站
  • 门户网站都有哪些内容上海企业咨询公司
  • 阿里云建站数据库用什么微信小程序定制开发需要多少钱
  • 天梭手表官方网站怎么推广外贸网站
  • 温州做网站 掌熊号上海中风险地区地图
  • 江苏网站设计方案工业产品设计就业前景
  • sql2008做查询网站做网站 (公司)
  • 苏州网站建设 牛如何禁止某ip访问网站
  • 管理软件开发公司湖南网站seo优化
  • ?]后台的网站可以备案吗wordpress永久链接
  • 浙里建app官方网站成都网页制作培训机构
  • 网站排名费用大型网站建设 cms cdm dmp
  • 手机网站解析地址回兴网络推广软件
  • 怎么做网站主网站开发费用一般为多少
  • 重庆做网站letide网站开发公司 logo
  • 同里做网站wordpress附件图片