前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c++ sort 学习笔记

c++ sort 学习笔记

作者头像
LRainner
发布2020-07-17 11:33:04
6980
发布2020-07-17 11:33:04
举报
文章被收录于专栏:安全学习笔记安全学习笔记

c++ sort()函数

实现c++快速排序,时间复杂度为O(nlogn),执行效率较高

sort()函数头文件:#include<algorithm>

sort(begin,end,排序方法),排序方法可以从大到小,也可以从小到大,若不传第三个参数,默认从小到大排序

1.默认方法排序

代码语言:javascript
复制
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
        vector<int>a{ 1,4,2,5,3,6,7,8,9 };
        sort(a.begin(), a.end());
        for (int i = 0; i < a.size(); i++) {
               cout << a[i] << ' ';
        }
        //1 2 3 4 5 6 7 8 9
}

2.根据需求定义排序方法

代码语言:javascript
复制
//从大到小
bool sort_method(int a, int b)
{
        return a > b;
}

//绝对值从大到小排序
bool sort_method(int a, int b)  //绝对值排序
{
        return abs(a) > abs(b);
}
代码语言:javascript
复制
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;

//从大到小
bool sort_method(int a, int b)
{
        return a > b;
}

int main()
{
        vector<int>a{ 1,4,2,5,3,6,7,8,9 };
        sort(a.begin(), a.end(),sort_method);
        for (int i = 0; i < a.size(); i++) {
               cout << a[i] << ' ';
        }
        //9 8 7 6 5 4 3 2 1
}

3.使用参数类型定义排序方法

代码语言:javascript
复制
less<数据类型>() //从小到大排序
greater<数据类型>() //从大到小排序
代码语言:javascript
复制
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
        vector<int>a{ 1,4,2,5,3,6,7,8,9 };
        sort(a.begin(), a.end(),greater<int>());
        for (int i = 0; i < a.size(); i++) {
               cout << a[i] << ' ';
        }
        //9 8 7 6 5 4 3 2 1
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白也编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档