当前位置: 首页 > news >正文

CPP容器vector和list,priority_queue定义比较器

#include <iostream>
#include <bits/stdc++.h>
using  namespace  std;
struct VecCmp{bool operator()(int& a,int& b){return a>b;/*** 对于vector和list容器,这里写了>就是从大到小* 对于priority_queue容器,这里写了>就是从小到大!*/}
};int main(){vector<int> v={5,6,7,8,9,1,2,3,4};cout<<"Vector Element = ";for(auto i:v){cout<<i<<" ";}cout<<endl;sort(v.begin(),v.end(),VecCmp());cout<<"VecCmp Sort-----------------------------------------"<<endl;for(auto i:v){cout<<i<<" ";}cout<<endl;cout<<"-----------------------------------------------------"<<endl;list<int> l={5,6,7,8,9,1,2,3,4};cout<<"List Element = ";for(auto i:l){cout<<i<<" ";}l.sort();cout<<endl;cout<<"Default list sort-------------------------------------------"<<endl;for(auto i:l){cout<<i<<" ";}cout<<"\nVecCmp sort----------------------------------------------------"<<endl;l.sort(VecCmp());for(auto i:l){cout<<i<<" ";}cout<<endl;return 0;
}

在这里插入图片描述

定义了priority_queue就不一样的代码是

#include <bits/stdc++.h>
using  namespace  std;
pair<int,int> p;
class Stu{
public:int age;int grade;Stu(int age,int grade){this->age=age;this->grade=grade;}friend ostream& operator<<(ostream & o,const Stu& s){o<<"[age = "<< s.age <<", grade = "<<s.grade<<" ]";o<<endl;return  o;}
};
struct less1{bool operator()(const Stu& s1,const Stu& s2)const{return s1.age>s2.age;}
};int main(){priority_queue<Stu,vector<Stu>,less1> pq;for(int i=0;i<10;++i){pq.emplace(i+18,i);}for (int i = 0; i < 10; ++i) {cout<<pq.top();pq.pop();}
}

在这里插入图片描述


http://www.lryc.cn/news/322714.html

相关文章:

  • How to install PyAlink on Ubuntu 22.04
  • Java部署运维
  • 0-Flume(1.11.0版本)在Linux(Centos7.9版本)的安装(含Flume的安装包)
  • cad vba 打开excel并弹窗打开指定文件
  • 应急救援装备无人机是否必要?无人机在应急救援中的具体应用案例有哪些?
  • 模态框被div class=modal-backdrop fade in覆盖的问题
  • 关于msvcp140.dll丢失的解决方法详情介绍,修复dll文件的安全注意事项
  • AJAX-Promise
  • [Spark SQL]Spark SQL读取Kudu,写入Hive
  • python统计分析——t分布、卡方分布、F分布
  • onlyoffice创建excel文档
  • 交通事故档案管理系统|基于JSP技术+ Mysql+Java+Tomcat的交通事故档案管理系统设计与实现(可运行源码+数据库+设计文档)
  • Chrome 114 带着侧边栏扩展来了
  • 【论文笔记】RobotGPT: Robot Manipulation Learning From ChatGPT
  • 深度学习 Lecture 4 Adam算法、全连接层与卷积层的区别、图计算和反向传播
  • uniApp中使用小程序XR-Frame创建3D场景(1)环境搭建
  • AI基础知识(4)--贝叶斯分类器
  • 填补市场空白,Apache TsFile 如何重新定义时序数据管理
  • Docker 笔记(七)--打包软件生成镜像
  • 图论06-飞地的数量(Java)
  • Java设计模式之单例设计模式
  • 多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测
  • 深入了解Android垃圾回收机制
  • 如何学好Python语言
  • 计算机408网课评测+资料分享
  • 使用 ZipArchiveInputStream 读取压缩包内文件总数
  • JavaScript对象修饰教程
  • 转置卷积(transposed-conv)
  • P1481 魔族密码
  • 无人机/飞控--ArduPilot、PX4学习记录(2)