《王道机试》:笔记(一)经典入门

《王道机试》学习笔记

1、排序

在c++中,推荐使用sort方法,进行快排

sort升序,如果想用降序可以重写布尔方法,调用时sort(a,a+n,compare)

bool compare(int a,int b){
if(a>b)return true;
else return false;
}

对于结构体的复杂排序,也可以使用自定义的布尔方法。首先按成绩由低到高,成绩相同时按照年龄从低到高

bool compare(student a,student b){
if(a.grade!=b.grade)return a.grade<b.grade;
if(a.age!=b.age)return a.age<b.age;
return true;
}

可以自定义外部判断函数sort(a,a+n,compare),也可以在结构体中自定义即可sort(a,a+n)调用

bool operator <(const student &a)const{
return a.grade<b.grade;
}

sort在使用时非常方便快速,但是我们也需要掌握其他排序的实现和优缺点,以便在实际使用中能够快速的选择合适的算法

2、日期(p21)

求两个日期的时间差,可以将每个日期统一到与原点时间的时间差(0000年1月1日),这样每个输入都可以直接预处理,等到判断的时候直接调用减法O(1)即可

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值