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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • shiro安全框架面试题_java分布式锁面试题

    shiro安全框架面试题_java分布式锁面试题shiro安全框架1.shiro可以完成哪些工作?shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等2.ApacheShiro的三大核心组件a、Subject:当前用户的操作b、SecurityManager:用于管理所有的Subjectc、Realms:用于进行权限信息的验证3.shiro有哪些组件?a、Authentication:身份认证/登录,验证用户是不是拥有相应的身份;b、Authorization:授权,即权限验证,验证某.

    2022年10月14日
    0
  • Python获取时间戳及常用的时间格式转换[通俗易懂]

    Python获取时间戳及常用的时间格式转换[通俗易懂]常用的时间格式转换:时间戳:10位13位16位ISO格式UTC时间代码如下:#!/usr/bin/envpython#coding=utf-8″””#:author:TerryLi#:url:https://blog.csdn.net/qq_42183962#:copyright:©2020-presentTerryLi#:motto:IbelievethattheGodrewardsthediligent.”””import

    2022年10月2日
    0
  • TLSF算法分析[通俗易懂]

    TLSF算法分析[通俗易懂]注:本文的大部分内容摘录自论文《TLSF:aNewDynamicMemoryAllocatorforReal-TimeSystems》,可以通过“科学上网”访问如下链接阅读原文:http://www.gii.upv.es/tlsf/files/ecrts04_tlsf.pdf。什么是TLSFTLSF是TwoLevelSegregatedFitmemoryal

    2022年6月30日
    22
  • accept 函数_accept函数是阻塞的吗

    accept 函数_accept函数是阻塞的吗服务器要做的最普通的事情之一就是接受来自客户端的连接请求。在套接字上使用重叠I/O接受连接的惟一API就是AcceptEx()函数【注一】。有趣的是,通常的同步接受函数accept()的返回值是一个新的套接字,而AcceptEx()函数则需要另外一个套接字作为它的参数之一。这是因为AcceptEx()是一个重叠操作,所以你需要事先创建一个套接字(但不要绑定或连接它),并把这个套接字通过参数传给Acc

    2022年9月29日
    0
  • docker容器启动参数[通俗易懂]

    dockerrun[option]镜像名[向启动容器中传入的命令]常用可选参数说明:-i表示以“交互模式”运行容器-t表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。–name为创建的容器命名-v表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即宿主机目录:容器中目录),可以使用多个-v做…

    2022年4月14日
    417
  • futex函数_UNIX/LINUX

    futex函数_UNIX/LINUX引子在编译2.6内核的时候,你会在编译选项中看到[*]Enablefutexsupport这一项,上网查,有的资料会告诉你”不选这个内核不一定能正确的运行使用glibc的程序”,那futex是什么?和glibc又有什么关系呢?1.什么是FutexFutex是FastUserspacemuTexes的缩写,由HubertusFranke,MatthewKirkwo

    2022年9月21日
    0

发表回复

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

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