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

网站目录怎么做外链网站服务器租用多少钱

网站目录怎么做外链,网站服务器租用多少钱,网站建设找睿智骄阳,网站建设的素材文章目录 C 优先级队列用法与模拟实现介绍用法头文件1.创建优先级队列priority_queue 2. 插入元素push 3. 删除元素pop 访问顶部元素top 检查优先级队列的大小size 检查优先级队列是否为空empty 模拟实现 C 优先级队列用法与模拟实现 介绍 优先级队列#xff08;Priority Qu… 文章目录 C 优先级队列用法与模拟实现介绍用法头文件1.创建优先级队列priority_queue 2. 插入元素push 3. 删除元素pop 访问顶部元素top 检查优先级队列的大小size 检查优先级队列是否为空empty 模拟实现 C 优先级队列用法与模拟实现 介绍 优先级队列Priority Queue是一种抽象数据类型它类似于队列但是每个元素都有一个优先级或权重。在优先级队列中元素的出队顺序是按照优先级来进行的而不是先进先出FIFO或后进先出LIFO。 在 C 中优先级队列是通过 std::priority_queue 实现的它是 C 标准库的一部分。std::priority_queue 是一个模板容器适配器它提供常数时间复杂度的插入操作和 logarithmic 时间复杂度的删除操作。 用法 头文件 要使用 std::priority_queue你需要包含 queue 头文件。 #include queue1.创建优先级队列 priority_queue (1) 构造函数可以接受两个参数一个比较函数和一个容器。是个显式构造不用隐式类型转换。(2) 接受两个迭代器的构造函数它允许你从一个范围 [first, last) 中的元素初始化优先级队列 //(1) priority_queueint pq1; // 创建一个整数类型的优先级队列 priority_queueint, vectorint, lessint pq2;//创建一个以vector作为底层容器类型的优先级队列less是大堆 priority_queueint, vectorint, greaterint pq3; // 创建一个以vector作为底层容器类型的优先级队列greater是小堆//(2) vectorint vec { 4, 1, 3, 2 }; priority_queueint pq(vec.begin(), vec.end());//pq 会用 vec 中的元素进行初始化并按照最大堆的顺序排列2. 插入元素 push 向优先级队列中插入元素。 pq.push(30); pq.push(10); pq.push(20);3. 删除元素 pop 从优先级队列中删除具有最高优先级的元素。 pq.pop(); // 删除元素 30访问顶部元素 top 访问优先级队列的顶部元素具有最高优先级的元素 int top pq.top(); // 之前在pop中把30pop了所以top现在是 20检查优先级队列的大小 size 查看优先级队列中的元素数量。 size_t size pq.size(); // size 现在是 2检查优先级队列是否为空 empty 检查优先级队列是否为空。 bool isEmpty pq.empty(); // isEmpty 现在是 false模拟实现 下面是一个简单的优先级队列的模拟实现使用数组和一个比较函数。 #include iostream #include vector #include algorithm template typename T class SimplePriorityQueue { private:std::vectorT data;bool (*compare)(const T, const T); public:SimplePriorityQueue(bool (*comp)(const T, const T)) : compare(comp) {}void push(const T value) {data.push_back(value);std::push_heap(data.begin(), data.end(), compare);}void pop() {std::pop_heap(data.begin(), data.end(), compare);data.pop_back();}T top() {return data.front();}bool empty() const {return data.empty();}size_t size() const {return data.size();} }; bool compareInt(const int a, const int b) {return a b; // 大根堆 } int main() {SimplePriorityQueueint pq(compareInt);pq.push(30);pq.push(10);pq.push(20);std::cout Top: pq.top() std::endl; // 输出 30pq.pop();std::cout Top: pq.top() std::endl; // 输出 20return 0; }在这个模拟实现中我们使用了 std::vector 来存储数据并使用 std::push_heap 和 std::pop_heap 来维护堆的属性。我们还需要提供一个比较函数来定义元素的优先级。
http://www.hkea.cn/news/14513685/

相关文章:

  • 百度能搜到自己的网站在线之家
  • 安防公司做网站图片安徽省建设工程造价管理网站
  • 网站建设小组实训总结黄平网站建设
  • 惠州网站建设公司推荐乐云seo门户网站要求
  • 泉州洛江住房和城乡建设局网站龙华网站建设深圳信科
  • 网站怎样做链接深圳全网营销网站建设
  • 与狗做网站网站建设完成情况工作总结
  • 电子商务网站开发过程网站做百度联盟收入已经很低了
  • 重庆网站建设费用东营人力资源招聘信息网官网
  • 河北网站建设排名建立网站的链接结构有哪几种形式
  • phpnow 搭建网站建设银行网站 开户行怎么查
  • html5手机网站免费模板wordpress建立一个页面模板
  • php中网站不同模板后台逻辑代码怎么管理o2o网站系统建设
  • 网络推广和网站推广官方网站平台下载
  • 网站 建设 语言优化前网站现状分析
  • 视频网站的嵌入代码是什么seo综合查询软件排名
  • 包头外贸网站建设怎么在百度里面找网站
  • 外贸网站seo怎么做app制作开发教程
  • 焦作网站设计国外网站开发技术
  • 会计上大额网站费如何做分录网站设计数据库怎么做
  • 昭阳区住房和城乡建设管理局网站wordpress时光轴主题
  • 互联网网站类型策划书格式模板
  • php网站上传信息网络传播视听节目许可证
  • 工业设计创意网站做qq头像的网站有哪些
  • 建设一个营销网站有哪些步骤加工平台都有哪些
  • 行业网站运营方案大货车找事做下载怎么网站
  • 电子商务网站建设的一般手机网站设计背景图片
  • 2021搜索引擎排名模板网站有利于优化
  • 南阳seo网站排名优化响应式布局代码怎么写
  • 我想开个网站php网站开发注意问题