【算法笔记】--各类“奇淫技巧”(持续更新)

  很久没有维护这个博客了,目前主要在维护hexo。不过在备战pat的过程中应该会把整理的思路放到这里。如果有时间,再把hexo上的内容搬过来。这篇博客主要是总结一些acm/pat常用的技巧、常用函数等,遇见了就会加进来,应该是持续更新的,直到pat甲级拿到好成绩吧。

sort

sort函数基本格式是:sort(首元素地址,尾元素地址+1,比较函数cmp)

这里主要是比较函数的应用。如果写比较函数,则默认从小到大排序。此时它的比较函数如下(元素类型为默认的int):

bool cmp(int a,int b)
{
    return a<b //理解为把a放在b的前面      
}

若想从大到小排序,则将上述cmp函数改为:

bool cmp(int a,int b)
{
    return a > b //理解为把a放在b的前面      
}

这个函数真正强大的地方在于,它可以改变比较对象的数据类型。以结构体,学生成绩为例:

bool cmp(Stu a , Stu b)
{
      if(a.score!=b.score)return a.score > b.score; //成绩由大到小排序
      else return strcmp(a.id,b.id) < 0; //准考证从小到大排序   
}

大致原理就是这样的,这个函数基本可以解决大部分排序问题。

猜你喜欢

转载自www.cnblogs.com/xiejiekun/p/10969449.html