暑期总结2022.7.1 cmp函数的编写,逆序对,map函数

本文是作者2022年暑期的算法学习总结,主要涵盖三个方面:一是讲解了在sort()函数中自定义cmp函数的编写,特别是在结构体排序中的应用;二是探讨了如何利用归并排序计算逆序对数量,并通过实例展示了具体代码;三是介绍了C++中的map容器,包括其定义、插入操作等基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、sort()函数中cmp函数的编写

1.在一般的排序中,不需要对cmp函数进行编写,sort()函数在一开始会默认为升序排列。

2.在对结构体类型的数据进行排序时,需要编写cmp()函数。在实际的做题当中,虽然没有cmp函数也可以完成相应的排序,但是利用函数将会更加方便,简洁。

3.cmp函数的返回值类型为bool类型。

4.例题[NOIP2007 普及组] 奖学金 - 洛谷

#include <iostream>
#include <algorithm>
using namespace std;
const int N=305;
struct student{
	int id;
	int china;
	int math;
	int english;
	int all;
}stu[N];
bool cmp(student x,student y){
	if(x.all!=y.all) return x.all>y.all;
	if(x.china!=y.china) return x.china>y.china;
	return x.id<y.id;
}//该函数为结构体排序的核心
int main(){
	int i,j;
	int n;
	cin>>n;
	for(i=1;i<=n;i++){
		cin>>stu[i].china>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值