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

C++起点——结构体

排序函数

 C++STL中可以直接使用排序函数,默认情况下完成升序排序,sort函数的语法为:

    其中:排序区间是【左闭右开】的,即不包括终点位置的数据。

    例如以下的程序:

    如果需要更复杂的排序,应该怎么做呢?这就需要用到sort函数的第3参数:

     其中:第3参数排序规则是一个函数,通过这个函数指定的排序规则,就可以实现自定义排序。

    示例1、将数组降序排序:

#include<bits/stdc++.h>
typedef long long LL;
using namespace std;
typedef struct Node node;

bool fx(int a,int b)
//bool函数的返回值只有真和假,对应1和0。
{
	return a<b;//如果a,b使这个表达式为真,保持现有顺序;否则交换a,b的值。同理a>b代表降序排列。
}

int main()
{
	int n=6,a[20]={16,3,11,13,12,4};
	sort(a,a+n,fx);
	for(int i=0;i<=5;i++) cout<<a[i]<<" ";
	return 0;
}

        示例2、将数组按奇偶性排序:

#include<bits/stdc++.h>
typedef long long LL;
using namespace std;
typedef struct Node node;

bool fx(int a,int b)
{
	return a%2<b%2;//a%2=0是偶数<b%2=1是奇数,所以该式代表偶数在前奇数在后。
}

int main()
{
	int n=6,a[20]={16,3,11,13,12,4};
	sort(a,a+n,fx);
	for(int i=0;i<=n-1;i++) cout<<a[i]<<" ";
	return 0;
}
#include<bits/stdc++.h>
typedef long long LL;
using namespace std;
typedef struct Node node;

bool fx(int a,

http://www.kler.cn/a/414468.html

相关文章:

  • 同时在github和gitee配置密钥
  • 百度智能云千帆部署流程---语音识别和合成
  • 【AI绘画】Midjourney进阶:色调详解(下)
  • Qt中QGraphics绘图类相关解释
  • w058基于web的美发门店管理系统
  • Group Convolution(分组卷积)
  • Unity版本使用情况统计(更新至2024年11月)
  • 无需插件,如何以二维码网址直抵3D互动新世界?
  • 9.机器学习--SVM支持向量机
  • 软件/游戏提示:mfc42u.dll没有被指定在windows上运行如何解决?多种有效解决方法汇总分享
  • SpringBoot实战(三十二)集成 ofdrw,实现 PDF 和 OFD 的转换、SM2 签署OFD
  • ECharts 地图合规整改,实现一个最基础的中国地图
  • 基于Transformer的图像处理预训练模型
  • 在前端项目中监听浏览器事件,关闭,刷新,后退事件
  • SNMPv2 项目示例
  • 深度学习day7-BP之梯度下降,过拟合与欠拟合
  • PostgreSQL在Linux环境下的常用命令总结
  • 爬虫获取的数据如何用于市场分析?
  • vue3+vite使用vite-plugin-electron-renderer插件和script-loader插件有冲突
  • 安全基线检查
  • 上传镜像docker hub登不上和docker desktop的etx4.vhdx占用空间很大等解决办法
  • 【分布式】Redis分布式锁
  • C# Winform--ffmpeg图片合成视频以及参数设置
  • GPT视角下,如何在密码学研究中找到属于你的方向?
  • 大模型的认知记录:一次与4o讨论道德经的对话 - “我无法触碰“真实的花草树木”(无名),但通过语言(有名),我可以靠近人类的认知方式。”
  • Redis(配置文件属性解析)