【优先队列】

参考文章

1. 优先队列的使用
  1. 特性:
    自动排序(默认从大到小)。

  2. 优先队列声明基本格式:
    priority_queue<结构类型> 队列名;

  3. 最完整的声明公式(吧)形如:
    priority_queue< 结构名, vector<结构名> , greater/less<结构名> > 队列名;
    可以简写为priority_queue<结构名>,不过这样只能从大到小了。

    三个结构名请保持一致,如int,double,long long,包括结构体(struct等)。
    要求是这个结构要有小于的规则——你要告诉它怎么比较大小,它才能帮你排序。
    系统自带的数据结构的小于规则是显然的,对于结构体,需要通过重载运算符等方式规定,如:

    greater代表升序,即从小到大,less代表降序,即从大到小,与缩减版无异。如果不想用重载小于,就新建一个结构体并重载等号,在第三项里填入这个结构体的名字。

struct point
{
   
	int x,y;
	bool operator < (const point &p) const
	{
   
		return x*x+y*y<p.x*p.x+p.y*p.y;
		//假设这是平面上的两个点,规定两个点的大小关系为距离原点的距离小者小。
		
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值