STL ------ priority_queue(预习和复习)

本文详细介绍了C++ STL中的priority_queue数据结构,包括其与堆的关系、基本操作如top、pop、push、empty和size,以及如何定义大根堆和小根堆。文章还强调了在操作堆前检查是否为空的重要性。

priority_queue与一个的实现是相同的,只不过它把 Put_Heap, Get_Heap 都简化了。它的定义如下:

priority_queue <int> s;//定义一个名为 s 的大根堆

假如说想要定义一个小根堆的话,可以这样:

priority_queue <int, vector <int> , greater <int> > q //定义一个名字为 q 的小根堆
priority_queue <int, vector <int> , less <int> > q //定义一个名字为 q 的大根堆

priority_queue 也与queue的操作基本相同,具体如下:

  1. top
int x = q.top(); //获取堆顶元素(root)的值,不对堆做出改变
  1. pop()
q.pop(); //删除堆顶元素(root)并维护当前的堆(寻找下一个符合条件的值把它拉到堆顶)
  1. push()
q.push(x); //把元素 x  插入堆中,并且维护这个堆(把 x 插入堆底,并向上查找,原理与堆相同)
  1. empty()
q.empty(); //查询堆是否为空,如果是的话即返回 0 , 不是则反之
  1. size()
int len = q.size(); // 查询堆内元素的个数

注意!在进行 1 和 3 的操作的时候如果不能保证队列 (堆)中有元素,要先用操作 4 或5 来检查队列(堆)是否为空,否则会 RE !
优先队列的内部实现其实就是一个堆 ,他也就是用来减少我们的代码量的(好东西)
例题与我在这篇题解中是一样的,此处就不再赘述,拜拜!

注 : 其他STL请点开我的博客阅读哦QWQ

【直流微电网】径向直流微电网的状态空间建模与线性化:一种耦合DC-DC变换器状态空间平均模型的方法 (Matlab代码实现)内容概要:本文介绍了径向直流微电网的状态空间建模与线性化方法,重点提出了一种基于耦合DC-DC变换器状态空间平均模型的建模策略。该方法通过对系统中多个相互耦合的DC-DC变换器进行统一建模,构建出整个微电网的集中状态空间模型,并在此基础上实施线性化处理,便于后续的小信号分析与稳定性研究。文中详细阐述了建模过程中的关键步骤,包括电路拓扑分析、状态变量选取、平均化处理以及雅可比矩阵的推导,最终通过Matlab代码实现模型仿真验证,展示了该方法在动态响应分析控制器设计中的有效性。; 适合人群:具备电力电子、自动控制理论基础,熟悉Matlab/Simulink仿真工具,从事微电网、新能源系统建模与控制研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握直流微电网中多变换器系统的统一建模方法;②理解状态空间平均法在非线性电力电子系统中的应用;③实现系统线性化并用于稳定性分析与控制器设计;④通过Matlab代码复现扩展模型,服务于科研仿真与教学实践。; 阅读建议:建议读者结合Matlab代码逐步理解建模流程,重点关注状态变量的选择与平均化处理的数学推导,同时可尝试修改系统参数或拓扑结构以加深对模型通用性适应性的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值