码迷,mamicode.com
首页 > 编程语言 > 详细

c++ 容器排序

时间:2018-12-13 01:22:55      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:函数   iostream   opera   nal   比较   turn   auto   ace   cti   

 

#include <algorithm>
#include <functional>
#include <array>
#include <iostream>
using namespace std;
int main()
{
    array<int, 10> s = {5, 7, 4, 2, 8, 6, 1, 9, 0, 3}; 
 
    // 用默认的 operator< 排序
    sort(s.begin(), s.end());//升序 
    for (auto a : s) {
        cout << a << " ";
    }   
    cout << \n;
 
    // 用标准库比较函数对象排序
    sort(s.begin(), s.end(), greater<int>());//降序 
    for (auto a : s) {
        cout << a << " ";
    }   
    cout << \n;
 
    // 用自定义函数对象排序
    struct {
        bool operator()(int a, int b) const
        {   
            return a < b;
        }   
    } customLess;
    sort(s.begin(), s.end(), customLess);//升序 
    for (auto a : s) {
        cout << a << " ";
    }   
    cout << \n;
 
    // 用 lambda 表达式排序
    sort(s.begin(), s.end(), [](int a, int b) {
        return b < a;   
    });//降序 
    for (auto a : s) {
        cout << a << " ";
    } 
    cout << \n;
}

输出

0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0

 

c++ 容器排序

标签:函数   iostream   opera   nal   比较   turn   auto   ace   cti   

原文地址:https://www.cnblogs.com/sea-stream/p/10111781.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!