C++SORT

由于本蒟蒻刚开始学排序,所以仅仅会SORT,后续会更新选排和箱排

目录

一、为什么选择使用sort()

二、SORT函数的用法

低级版

高级版

三、整活:sort源代码

四、结构体的sort


一、为什么选择使用sort()


 在刷题的时候我们经常会碰到排序的问题,如果我们不使用一些排序的方法那我们只能手撕排序,这样就会浪费一些时间。而且我们还需要根据需要去选择相关的排序方法:冒泡排序、快速排序、插入排序、希尔排序、归并排序、选择排序、堆排序、基数排序、箱排序。在选择的过程中也需要我们花费一些时间,所以在明白这些经典排序的情况下再一遍一遍的手写就有点浪费时间啦!
 如果我们使用sort()方法就可以只需要一条语句就可以实现排序,这样就极大的节省了我们在刷题中所花费的时间。当然如果对这些经典的排序方法不熟悉的话还是建议大家去了解一下这些方法,比较一下这些方法的优劣以及使用的情景。

————————————————
版权声明:本文为CSDN博主「晴空๓」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41575507/article/details/105936466

我有一个问题 : 箱排不是比SORT更快吗?

二、SORT函数的用法

低级版

#include<algorithm>
//......
int a[n];
sort(a+1,a+n+1);//下标为1
sort(a,a+n);//下标为0

此时,若n=5,(下标为零)a[0]=1,a[1]=9,a[2]=7,a[3]=5,a[4]=0,那么sort后会变为a[0]=0,a[1]=1,a[2]=5,a[3]=7,a[4]=9,但这种方法只能实现从小到大排序

高级版

#include<bits/stdc++.h>//别问为啥用这个,问就是懒得拼函数头文件了
//......
bool cmp(int a,int b){
    return a<b;//从小到大排序
    return a>b;//从大到小排序
}
//......
int a[n];
sort(a+1,a+n+1,cmp);//我喜欢为1的下标

此时,若n=5,(下标为零)a[0]=1,a[1]=9,a[2]=7,a[3]=5,a[4]=0,那么sort后会变为a[0]=9,a[1]=7,a[2]=5,a[3]=1,a[4]=0,但这种方法只能实现从小到大排序

三、整活:sort源代码

template<typename _RAIter, typename _Compare>
_GLIBCXX20_CONSTEXPR
void
sort(_RAIter, _RAIter, _Compare);

四、结构体的sort

※※※注意:

即便是从小到大排序,也要加cmp

结构体的cmp较为特殊

//......
struct Student{
    int score,id;
}N[2147483647];
bool cmp(Student a,Student b){
    //......
}
//......
  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值