【优先队列】【链表】【priority_queue】【list】hdu 1434

方法一:优先队列(9203MS 21048K)

方法二:链表(9640MS 33620K)

性能分析:优先队列的方法内存占用较少,速度也更快。

注意:方法一中使用的是 greater functor, 需要重载 ">", 方法二 sort 采用默认的 less functor, 需要重载 "<".

方法一:优先队列

1. 这里的优先队列应该是使用小根堆,因此用 greater

2. 这里用构造函数初始化优先队列,而不是先建立空队列,然后不停 push. 这样做可以省去多次建堆操作,不初始化用的 vector 浪费了空间。

/*
 * hdu 1434
 * http://acm.hdu.edu.cn/showproblem.php?pid=1434
 * 【优先队列】【priority_queue】
 * 9203MS	21048K
 * 1. 这里的优先队列应该是使用小根堆,因此用 greater
 * 2. 这里用构造函数初始化优先队列,而不是先建立空队列,然后不停 push.
 *    这样做可以省去多次建堆操作,不初始化用的 vector 浪费了空间。
 */
#include <iostream>
#include <queue>
#include <vector>
#include <functional>
#include <string>
using namespace std;

struct SPassenger
{
    int     iRp;
    string  strName;
};

bool operato
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值