priority_queue的优先级设置

#include <iostream>
#include <queue>
#include <string>
using namespace std;

struct Fruit
{
	string Name;
	int Price;
	
	//设置价格高的 优先级高 
	friend bool operator < (Fruit &f1, Fruit &f2)
	{
		return f1.Price < f2.Price;
	}
		
}f1,f2,f3,f4;

struct Game
{
	string Name;
	int Price;
}g1,g2,g3;

struct Cmp
{
	//设置价格低的优先级高 
	bool operator () (Game &g1, Game &g2)
	{
		return g1.Price > g2.Price;
	}
};

int main(void)
{
	priority_queue<Game,vector<Game>,Cmp>game; 
	g1.Name = "守望先锋";
	g1.Price = 20;
	g2.Name = "LOL";
	g2.Price = 0;
	g3.Name = "PUBG";
	g3.Price = 98;
	game.push(g1);
	game.push(g2);
	game.push(g3);
	cout<<game.top().Name<<game.top().Price<<endl;

	return 0;
}
 

/*int main(int argc, char** argv)
{
	priority_queue<Fruit>fruit;
	f1.Name = "桃子";
	f1.Price = 10;
	f2.Name = "西瓜";
	f2.Price = 20;
	f3.Name = "樱桃";
	f3.Price = 5;
	f4.Name = "荔枝";
	f4.Price = 100;
	fruit.push(f1);
	fruit.push(f2); 
	fruit.push(f3); 
	fruit.push(f4);
	cout<<fruit.top().Name<<fruit.top().Price<<endl;  
	
	return 0;
}*/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值