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

冷暖自知 提交于 2020-05-08 08:26:38

  很久没有维护这个博客了,目前主要在维护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; //准考证从小到大排序   
}

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!