sort用的什么排序算法_lambda表达式有什么组成

sort用的什么排序算法_lambda表达式有什么组成sort()与拉姆达表达式的结合#include<iostream>#include<string>#include<vector>#include<ctime>#include<map>#include<utility>#include<algorithm>usingstd::…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

sort()与拉姆达表达式的结合

#include <iostream>
#include <string>
#include <vector>
#include <ctime>
#include <map>
#include <utility>
#include <algorithm>


using std::cout;
using std::endl;
using std::string;
using std::vector;
using std::map;
using std::sort;
struct Car{ 
   int id,start,from,to;};

int main()
{ 
   
    clock_t startTime=0,endTime=0;
    startTime=clock();
    map<int,int> MapRoot;
    MapRoot[1]=1314520;
    cout << MapRoot[1] <<endl;
    string first="Test",last=" is ok";
    auto PairTest=make_pair(first,last);
    cout << PairTest.first<< PairTest.second<<endl;

    vector<Car> c(1,{ 
   2010,13,20,300});
    c.push_back({ 
   2011,12,24,400});
    c.push_back({ 
   2014,5,23,300});
    c.push_back({ 
   1994,9,22,210});
    c.push_back({ 
   1995,15,26,100});
    int testA[]={ 
   -2,100,20,111,-4,-2,1111};
    int SizeA=sizeof(testA)/sizeof(int);

    cout<<"排序前:"<<endl;
    for (auto i:c)
    { 
   
        cout<<i.id<<" "<<i.start<<" "<<i.from<<" "<<i.to<<" "<<" | ";
    }cout<<endl;

    //降序
    sort(c.begin(),c.end(),[](Car &a,Car &b){ 
   return a.start>b.start;});
// //升序
// sort(c.begin(),c.end(),[](Car &a,Car &b){return a.start<b.start;});
// //逆序
// sort(c.begin(),c.end(),[](Car &a,Car &b){return 1;});
// //正序
// sort(c.begin(),c.end(),[](Car &a,Car &b){return 0;});

    cout<<"排序后:"<<endl;
    for (auto i:c)
    { 
   
        cout<<i.id<<" "<<i.start<<" "<<i.from<<" "<<i.to<<" "<<" | ";
    }cout<<endl;


    endTime=clock();
    cout << "Run Time=" << (double)(endTime-startTime)<< "ms" << endl;
    return 0;
}

运行结果

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191776.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大文件或目录复制时的信息统计脚本

    大文件或目录复制时的信息统计脚本

    2021年8月26日
  • C语言 getchar()原理及易错点解析

    C语言 getchar()原理及易错点解析文章目录一.getchar()系列1.getchar()工作原理及作用2.使用getchar()清理回车\n3.使用getchar()清理缓存一.getchar()系列1.getchar()工作原理及作用工作原理:getchar()是stdio.h中的库函数,它的作用是从stdin流中读入一个字符,也就是说,如果stdin有数据的话不用输入它就可以直接读取了,第一次getchar()时,…

    2022年10月19日
  • 数据仓库 数据集市_实时数仓应用场景

    数据仓库 数据集市_实时数仓应用场景#实时数仓项目-数据采集与ODS层配置canal实时采集mysql数据一、mysql开启binlog二、安装配置canal采集数据到kafka三、启动kafka消费者验证ODS层数据处理导入hbase一、flink采集kafka数据配置canal实时采集mysql数据一、mysql开启binlog修改mysql的配置文件(linux:/etc/my.cnf,Windows:\my.ini)log-bin=mysql-bin#开期binlogbinlog-format=ROW#选择ROW

    2022年9月27日
  • Python删除字符串中指定字符

    Python删除字符串中指定字符删除特定位置字符使用.pop()方法,先将字符串转换为列表,再把列表转换成字符串。string1=’雪雪最大’#定义一个字符串list_str=list(string1)#将字符串转换为列表list_str.pop(1)#删去第一个字符string2=”.join(list_str)#再将列表转换成字符串print(string2)输出结果雪最大 删除指定字符方法一使用.replace()方法,删除(指定字符string=’雪雪最大’

    2022年6月10日
  • Win10 Ubuntu16.04/Ubuntu18.04双系统完美安装「建议收藏」

    Win10 Ubuntu16.04/Ubuntu18.04双系统完美安装「建议收藏」按照网上博客的安装教程安装的Win10+Ubuntu16.04双系统安装了好几遍都不成功?启动Ubuntu左上一直有个光标在闪?如果你的电脑也是双硬盘(装Windows系统的固态硬盘+机械硬盘),在安装Win10+Ubuntu16.04双系统前一定要提前了解如下这些安装要点。首先非常非常感谢博客作者们分享的Win10+Ubuntu16.04双系统安装教程,其中一些博客对笔者双系统的安装非…

    2022年7月24日
  • 计算流体力学基础与网格概述(与书同行)——ANSYS ICEM CFD网格划分从入门到精通——丁源「建议收藏」

    计算流体力学基础与网格概述(与书同行)——ANSYS ICEM CFD网格划分从入门到精通——丁源「建议收藏」一、计算流体力学基础:1、 建立物理模型,将其抽象为数学、力学模型后,要分析几何体的空间影响区域;2、 建立整个几个形体与其空间影响区域(计算区域的CAD模型),将整个计算区域进行空间网格划分。3、 加入求解所需要的初始条件;4、 选择适当的算法,设置具体的控制求解过程和精度的一些条件,对所研究的问题进行分析,保存数据文件结果;5、 选择合适的后处理器(postprocessor)读取计算结果文件,分析并且显示出来。数值模拟方法:1、 有限差分法;2、 有限元法;3、 有限体积法;子域法

    2022年5月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号