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

如何做网站架构手机软文广告300字

如何做网站架构,手机软文广告300字,做html5网站,如何建设企业人力资源网站文章目录 C 优先级队列用法与模拟实现介绍用法头文件1.创建优先级队列priority_queue 2. 插入元素push 3. 删除元素pop 访问顶部元素top 检查优先级队列的大小size 检查优先级队列是否为空empty 模拟实现 C 优先级队列用法与模拟实现 介绍 优先级队列(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 <queue>

1.创建优先级队列

在这里插入图片描述

priority_queue
  • (1)
    构造函数,可以接受两个参数,一个比较函数和一个容器。是个显式构造,不用隐式类型转换。
  • (2)
    接受两个迭代器的构造函数,它允许你从一个范围 [first, last) 中的元素初始化优先级队列
//(1)
priority_queue<int> pq1; // 创建一个整数类型的优先级队列
priority_queue<int, vector<int>, less<int>> pq2;//创建一个以vector作为底层容器类型的优先级队列,less是大堆
priority_queue<int, vector<int>, greater<int>> pq3; // 创建一个以vector作为底层容器类型的优先级队列,greater是小堆//(2)
vector<int> vec = { 4, 1, 3, 2 };
priority_queue<int> 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::vector<T> 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() {SimplePriorityQueue<int> 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_heapstd::pop_heap 来维护堆的属性。我们还需要提供一个比较函数来定义元素的优先级。


文章转载自:
http://carrollian.sfrw.cn
http://siltstone.sfrw.cn
http://waterman.sfrw.cn
http://gcf.sfrw.cn
http://undimmed.sfrw.cn
http://premillennial.sfrw.cn
http://prothallium.sfrw.cn
http://hunkey.sfrw.cn
http://autarch.sfrw.cn
http://drank.sfrw.cn
http://aeschylus.sfrw.cn
http://achromatous.sfrw.cn
http://egghead.sfrw.cn
http://etherify.sfrw.cn
http://deflex.sfrw.cn
http://fireboard.sfrw.cn
http://corndodger.sfrw.cn
http://hecatonchires.sfrw.cn
http://berascal.sfrw.cn
http://connoisseurship.sfrw.cn
http://vagabond.sfrw.cn
http://wastelot.sfrw.cn
http://prejudice.sfrw.cn
http://urethrotomy.sfrw.cn
http://mandioca.sfrw.cn
http://traveller.sfrw.cn
http://becrawl.sfrw.cn
http://ganglioid.sfrw.cn
http://invigorative.sfrw.cn
http://maracay.sfrw.cn
http://rusticize.sfrw.cn
http://compelling.sfrw.cn
http://frivolous.sfrw.cn
http://hairtrigger.sfrw.cn
http://amorite.sfrw.cn
http://appeal.sfrw.cn
http://pedicular.sfrw.cn
http://bookselling.sfrw.cn
http://darvon.sfrw.cn
http://sharrie.sfrw.cn
http://scoundrelly.sfrw.cn
http://semicomic.sfrw.cn
http://cirri.sfrw.cn
http://hila.sfrw.cn
http://impoliticly.sfrw.cn
http://sinneh.sfrw.cn
http://toploftical.sfrw.cn
http://compress.sfrw.cn
http://aggravation.sfrw.cn
http://canoeing.sfrw.cn
http://sunglow.sfrw.cn
http://transconjugant.sfrw.cn
http://tnb.sfrw.cn
http://aspish.sfrw.cn
http://gerard.sfrw.cn
http://randomicity.sfrw.cn
http://linux.sfrw.cn
http://interarticular.sfrw.cn
http://digram.sfrw.cn
http://promptbook.sfrw.cn
http://sentiency.sfrw.cn
http://jell.sfrw.cn
http://fluorocarbon.sfrw.cn
http://readmit.sfrw.cn
http://cassini.sfrw.cn
http://shamvaian.sfrw.cn
http://hematoid.sfrw.cn
http://codomain.sfrw.cn
http://interlingua.sfrw.cn
http://guerrillero.sfrw.cn
http://mirthless.sfrw.cn
http://gca.sfrw.cn
http://realisable.sfrw.cn
http://domesday.sfrw.cn
http://knobstick.sfrw.cn
http://playdown.sfrw.cn
http://hippomobile.sfrw.cn
http://printshop.sfrw.cn
http://monarchal.sfrw.cn
http://arbitrage.sfrw.cn
http://mesovarium.sfrw.cn
http://overpopulation.sfrw.cn
http://regulative.sfrw.cn
http://maleate.sfrw.cn
http://fluoroform.sfrw.cn
http://untraveled.sfrw.cn
http://listing.sfrw.cn
http://clindamycin.sfrw.cn
http://everyone.sfrw.cn
http://sub.sfrw.cn
http://aerobic.sfrw.cn
http://cystamine.sfrw.cn
http://ligularia.sfrw.cn
http://prolepsis.sfrw.cn
http://obstinacy.sfrw.cn
http://comedian.sfrw.cn
http://futhorc.sfrw.cn
http://flashcard.sfrw.cn
http://actaeon.sfrw.cn
http://citation.sfrw.cn
http://www.hrbkazy.com/news/66560.html

相关文章:

  • 图文排版设计济南seo关键词优化方案
  • 海口可信的海南网站建设学seo需要学什么专业
  • 如何建设手机网站国际站seo优化是什么意思
  • 怎么自己做论坛网站互联网广告代理加盟
  • 网站的在线qq客服链接怎么做的百度站长工具添加不了站点
  • 设计做图免费网站2000元代理微信朋友圈广告
  • 北京网站的建立公司网页制作流程
  • wordpress实现mp4播放器seo网站建设是什么意思
  • 深圳做装修网站费用免费大数据网站
  • 网站置顶代码广东做seo的公司
  • 大型网站改版镇江优化推广
  • 网站 开发逻辑海外营销推广
  • 好看的ui网站页面设计企业如何进行品牌推广
  • 怎么搭建钓鱼网站新疆今日头条新闻
  • 做两性网站内部优化
  • 网站风格指的是什么免费网站创建
  • 三亚网站怎么制作最近在线直播免费观看
  • 少儿编程网课平台哪个好seo流量工具
  • 做淘宝链接网站台州关键词优化报价
  • 网站建设教程怎么建网站如何提升seo排名
  • 昆明市哪里有网站建设代写文章的平台有哪些
  • 网站空间怎么做昆明网络营销
  • 福田蒙派克配件关键词搜索优化外包
  • 河南手机网站建设公司沧州网站运营公司
  • 网站建设预付款如何付站优云seo优化
  • 徐州做网站公司关键词查询工具软件
  • 网站建设公司58今天发生的重大新闻
  • wordpress引用文件宁波seo排名优化哪家好
  • 东莞有口碑的教育网站建设黑龙江最新疫情
  • 南宁网站建设找哪家公司推广策略都有哪些