算法笔记 第四章 4.1 排序

PAT(Python)-1015:德才论(25) 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第1行给出3个正整数,分别为:N(5),即考生总数;L(>=60),为录取最低分数线,即德分和才分均不低于L的考 阅读详情

选择排序

在这里插入图片描述

在这里插入图片描述

插入排序

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

排序题与sort函数应用(常用)

这类排序题基本是一定会出一道的,所以掌握一下这个排序方法很有用,

sort函数:
需要头文件<algorithm.h>
语法描述:sort(begin,end,cmp),cmp参数可以没有,如果没有默认升序排序。

cmp函数的编写
示例结构体
在这里插入图片描述
示例camp函数
在这里插入图片描述

例题 :

德才论

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”
现给出一批考生的德才分数,请根据司马光的理论给出录取排名。
输入格式:
输入第一行给出 3 个正整数,分别为:N(≤10​5​​),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于 L的考生才有资格被考虑录取;H(<100),为优先录取线——德分和才分均不低于此线的被定义为“才德全尽”,此类考生按德才总分从高到低排序;才分不到但德分到线的一类考生属于“德胜才”,也按总分排序,但排在第一类考生之后;德才分均低于 H,但是德分不低于才分的考生属于“才德兼亡”但尚有“德胜才”者,按总分排序,但排在第二类考生之后;其他达到最低线 L的考生也按总分排序,但排在第三类考生之后。
随后 N 行,每行给出一位考生的信息,包括:准考证号 德分 才分,其中准考证号为 8 位整数,德才分为区间 [0, 100] 内的整数。数字间以空格分隔。
输出格式:
输出第一行首先给出达到最低分数线的考生人数 M,随后 M 行,每行按照输入格式输出一位考生的信息,考生按输入中说明的规则从高到低排序。当某类考生中有多人总分相同时,按其德分降序排列;若德分也并列,则按准考证号的升序输出。

输入样例:
14 60 80
10000001 64 90
10000002 90 60
10000011 85 80
10000003 85 80
10000004 80 85
10000005 82 77
10000006 83 76
10000007 90 78
10000008 75 79
10000009 59 90
10000010 88 45
10000012 80 100
10000013 90 99
10000014 66 60

输出样例:
12
10000013 90 99
10000012 80 100
10000003 85 80
10000011 85 80
10000004 80 85
10000007 90 78
10000006 83 76
10000005 82 77
10000002 90 60
10000014 66 60
10000008 75 79
10000001 64 90

这道题中就可以用到结构体的sort排序

代码:

#include <bits/stdc++.h>
#include<cstdio>
using namespace std;
struct s{
	int num;
	int de;
	int cai;
	int level;
	int sum;
};
bool mysort(s a,s b){
	if(a.level!=b.level){
		return a.level>b.level;
	}else if(a.sum!=b.sum){
		return a.sum>b.sum;
	}else if(a.de!=b.de){
		return a.de>b.de;
	}else {
		return a.num<b.num;
	}
}
int main() {
	int x,y,z;
	int count=0;
	
	cin>>x>>y>>z;
	vector <s> arr;
	s a;
	for(int i=0;i<x;i++){
		scanf("%d %d %d", &a.num, &a.de, &a.cai);
		
		a.level=0;
		a.sum=0;
		a.sum+=a.cai;
		a.sum+=a.de;
		if(a.de>=y&&a.cai>=y){
			count++;
		}else{
			continue;
		}
		
		if(a.de>=z&&a.cai>=z) {
			a.level+=4;
		}else if(a.de>=z&&a.cai<z){
			a.level+=3;
		}else if(a.de>=a.cai&&a.de<z&&a.cai<z){
			a.level+=2;
		}else{
			a.level+=1;
		}
		arr.push_back(a);
	}
	sort(arr.begin(),arr.end(),mysort); 
	cout<<count<<endl;
	for(int i=0;i<arr.size();i++){
		if(i!=0){
			cout<<endl;
		}
		cout<<arr[i].num<<" "<<arr[i].de<<" "<<arr[i].cai;
	}	
}

如果是数组 : sort(A,A+length,cmp)

考研算法笔记(排序) 考纲 (只考虑内部排序) 1插入排序(直插(稳),希尔) 2交换排序(冒泡(稳),快排) 3选择排序(简选,堆排) 4归并排序(稳) 5基数排序(稳) 算法笔记 1.插入排序 1.1.直接插入排序(稳定) 适合顺序表,也可适用于链表,所以两个都需实现 (用折半查找优化时,只能用顺序表!!!) 1.查找插入位置(外部大循环)//第一个元素总是有序的,从第二个开始比较 2.后移(内部小循环) void InsertSort(ElemType A[],int n){ //顺序表实现直接插入排序 //1.第一步找 阅读详情

相关推荐

【有营养的算法笔记】基础算法 —— 快速排序思路梳理和常见错误拔毛

快速排序模板、模板分析以及讲解、OJ练习

StackFrame 1591

PTA Basic level 1015 德才论 (25分)

** 1015 德才论 (25分) ** 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10​5 ​),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于 L的考生才有资格被考虑录取; H(<100),为优先录取线——德分和才

qazwsxxxxxasd的博客 453

『n8n』初识界面

在首页(Overview),我们和 n8n 最常打交道的是“Workflows”、“Credentials”、“Executions”这几个面板(其实后面2个也会用到,但初学阶段可以先不管)。Workflows 面板可以看到我们创建的所有工作流,所以要给工作流起一个一眼看上去就知道是干嘛的名字。

weixin_39415598的博客 1460

1015 德才论(25 分)

1015 德才论(25 分) 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10​5​​),即考生总数;L(≥60),为录取最低...

YuannaY的博客 1405

JavaSpringBoot + VUE 相关开发环境配置合集

1.Java环境-JDK安装 参照:Java基础1-环境篇:JDK安装与环境变量配置 Java基础1-环境篇:JDK安装与环境变量配置_第一段代码的博客-优快云博客_jdk 2.Web服务器-Tomcat安装 原创Java服务器Tomcat安装和配置 3.Maven(后面为了项目兼容性,使用了3.0.5版本) 原创Maven安装和配置(Maven3.0.5) 4.nginx 原创nginx轻量级Web服务器安装和配置 5 数据库mysql 原创数据库Mysql安装和配置 ...

第一段代码的博客 3164

摄像头模组CCM简介

摄像头模组,全称Camera Compact Module,简写为CCM。CCM 包含几大件: 镜头(lens)、音圈马达(VCM)、传感器(sensor)、软板(FPC)、图像处理芯片(DSP)。工作原理:物体通过镜头(lens)聚集的光,通过CMOS或CCD集成电路,把光信号转换成电信号,再经过内部图像处理器(ISP)转换成数字图像信号输出到数字信号处理器(DSP)加工处理,转换成标准的GRB、YUV等格式图像信号。摄像头模组主要由以下几个部分组成:镜头(Lens):将光线汇聚到图像传感器上。

m0_73482095的博客 1万+

乙级真题 带注释 1015 德才论 (25 分)

1015 德才论 (25 分) 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤105​​)N(≤10^5​​ )N(≤105​​),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于 L 的考生才有资格被考虑录取;H(<100)

qq_46107391的博客 552

Unity调用手机摄像头避坑指南:从权限检测到自动对焦问题解决

本文深入解析了Unity移动端集成手机摄像头时遇到的权限、对焦与性能等核心难题。针对权限管理,提供了健壮的原生接口调用方案;针对自动对焦模糊问题,详细对比了原生插件与第三方插件两种解决路径;并分享了分辨率选择、数据处理及功耗控制等关键性能优化技巧,帮助开发者构建稳定高效的摄像头功能。

weixin_29007243的博客 472

1015. 德才论 (25) PAT乙级真题

1015. 德才论 (25) 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第1行给出3个正整数,分别为:N(5),即考生总数;L(>=60),为录

chenyvye的博客 4759

一文读懂 SAP Web Dispatcher 配置参考:让 Gateway、OData 与后端服务各走各路

SAP Web Dispatcher在Fiori项目中常被低估,实际上它作为企业系统的HTTP(s)入口,承担着流量分发和安全防护双重职责。该组件通过URL路径规则(如/sap/opu/odata/转发至Gateway系统)实现多系统路由,隐藏后端复杂性,提供统一访问入口。配置要点包括HTTPS参数设置、客户端证书转发、端口定义以及系统冲突处理策略。合理的配置能确保前端统一访问、网络边界清晰可控,同时降低跨团队协作成本。生产环境需根据实际网络架构调整官方示例配置。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 156

基于STM32L4XX、HAL库的 TMC2660C-PA 驱动程序设计

/ 默认灵敏度和电流。// 20/31最大电流。

zhusl6688的博客 385

算法笔记的学习心得和知识总结(三)|CodeUp and Pat篇(算法笔记第四章 排序算法)

目录结构 算法笔记CodeUp Pat汇总文章快速说明索引一、PAT    B1001 文章快速说明索引 学习目标: 因为最近一来要准备一下浙大PAT考试,二来复习一下将近遗忘的算法知识。正好把当年快翻烂掉的《算法笔记》再学一遍,权做C/C++和DSA的复习之用!注:因为进入工作岗位之后,基础知识的使用和遗忘会变得十分常见!面向过程 面向对象逐渐变成了面向百度编程,可是对于参加算法或编程竞赛而言 Baidu恐怕也帮不上忙了!古人云:温故而知新,可以为师矣! 1、CodeUp链.

孤傲小二~阿沐的博客 4698

58.Sobel边缘检测算子

注:在梯度运算中,很可能会出现负的灰度值,我们不能再采用uint8类型作为像素的数据类型,而是采用了CV_16S或者CV_32F这种有负数范围的类型,运算结果里的负数也不能不处理,否则在显示的时候就会被截断为0,这样就会丢失边界信息。如下图所示,对中心像素Z5求取多个方向的灰度差分,对于Z5的8邻域,分为4个方向,即对角线和水平垂直4个方向对:(z1, z9) ,(z2, z8), (z3, z7), (z6, z4) 给定邻域方向梯度矢量g的幅度为:|g| = <像素灰度差分>/<相邻像素的距离>。

twnkie的博客 4884

《算法图解》读书笔记 第四章 快速排序

文章目录一、本章内容二、分而治之1.举个直观的例子介绍分治利用分支策略将地均匀分块2.通过代码进行进一步理解分治思想普通方法递归方法 一、本章内容 学习分而治之的思想。 有时,可能会遇到使用任何已知的算法都无法解决的问题。分治法是一种通用的问题解决方法,可以尝试使用这种方法来解决问题。 学习快速排序 一种常用的优雅的排序算法。使用分而治之的策略。 前一章中深入介绍了递归。 《算法图解》读书笔记 第三章 递归 调用栈(函数调用时进入的调用栈) 本章的重点是使用学到的新技能来解决问题。 本

一碗菜粥的博客 506

华为OD机试双机位C卷-魔法收积木 (C/C++/Py/Java/Js/Go)

华为OD机试(机考)双机位C卷 【魔法收积木】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为od - 魔法收积木。

qq_45776114的博客 1940

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

算法笔记4.1习题_排序

问题 A: 排序 [命题人 : 外部导入] 时间限制 : 1.000 sec 内存限制 : 32 MB 题目描述 对输入的n个数进行排序并输出。 输入 输入的第一行包括一个整数n(1<=n<=100)。 接下来的一行包括n个整数。 输出 可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。 每组测试数据的结果占一行。 样例输入 Copy 5 5 4 3 ...

Di_iii的博客 2092

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

《算法笔记》4.1小节——算法初步->排序

4.1小节——算法初步->排序A题 排序题目描述输入输出样例输入样例输出代码TipsB题 特殊排序题目描述输入输出样例输入样例输出代码TipsC题 EXCEL排序题目描述输入输出样例输入样例输出代码TipsD题 字符串内排序题目描述输入输出样例输入样例输出代码Tips A题 排序 题目描述 对输入的n个数进行排序并输出。 输入 输入的第一行包括一个整数n(1<=n<=100)。 接下来的一行包括n个整数。 输出 可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空

进击的lab681 1680

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

算法笔记第四章习题集4.1

第四章课本例题集&课后codeup题集&课后练习题 第四章 入门篇(2)–算法初步 4.1 排序 课本例题集 1025 PAT Ranking (25 分) Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhejiang Unive...

weixin_43482621的博客 564

【学习】《算法图解》第四章学习笔记:分而治之与快速排序

《算法图解》第四章介绍了分而治之(D&C)算法策略及其经典应用快速排序。D&C通过递归将问题分解为更小的子问题,直到达到可直接解决的基线条件。快速排序选择基准值进行分区,将小于基准的元素移到左边,大于的移到右边,然后递归排序子数组。其平均时间复杂度为O(n log n),但最坏情况下(如已排序数组)会退化为O(n²)。通过随机选择基准值可优化性能。相比合并排序,快速排序常数因子更小,实际运行更快,是许多标准库的排序实现基础。

一个普通程序员的成长记录簿 955

【Algorithms 4】算法(第4版)学习笔记 04 - 2.1 初级排序算法

《算法(第4版)》2.1 初级排序算法 学习笔记。包括:选择排序、插入排序以及希尔排序。

MichelleChung的星球 1386

《算法笔记》学习日记——4.1 排序

目录4.1 排序问题 A: 排序问题 B: 特殊排序问题 C: EXCEL排序问题 D: 字符串内排序问题 E: Problem B问题 F: 小白鼠排队问题 G: 中位数问题 H: 整数奇偶排序问题 I: 排名小结 4.1 排序 Codeup Contest ID:100000581 问题 A: 排序 题目描述 对输入的n个数进行排序并输出。 输入 输入的第一行包括一个整数n(1<=n&l...

一只奋斗中的本科生 599

【算法笔记题解】《算法笔记知识点记录》第四章——算法初步1——排序

如果喜欢大家还希望给个收藏点赞呀0.0 相关知识点大家没基础的还是要看一下的,链接: 《算法笔记知识点记录》第三章——入门模拟 由于放原题的话文章实在太长,所以题多的话我只放思路和题解,大家请前往相应的网站查看题目呀0.0 🧑🏻作者简介:一个从工业设计改行学嵌入式的年轻人 ✨联系方式:2201891280(QQ) 📔源码地址:https://gitee.com/xingleigao/algorithm-notes ⏳全文大约阅读时间: 30min 全文目录@[TOC](全文目录)🍕3.1小节——入门.

XingleiGao的博客 651

算法图解第四章笔记与习题(快速排序)

算法图解第四章笔记与习题(快速排序) 文章目录算法图解第四章笔记与习题(快速排序)4.1 分而治之4.2 快速排序4.3 大$O$表示法的平均情况和最糟情况3.4 小结练习习题4.1习题4.2习题4.3习题4.4使用大O表示法时,下面各种操作都需要多长时间?习题4.5习题4.6习题4.7习题4.8 4.1 分而治之 分而治之(divide and conquer)D&amp;amp;G是一种著名的递归式...

hwl19951007的博客 2216

Leetcode刷题笔记——排序算法篇

本文给大家介绍了面试中常考的关于排序问题的算法题,本文重点介绍了计数排序、快速排序、堆排序(重点)、插入排序、归并排序(重点)、桶排序、还有自定义排序规则

qq_42898642的博客 2670

【算法笔记】第四章:算法初步

【算法笔记】第四章:入门篇(2)——算法初步 标签(空格分隔):【算法笔记】 第四章:入门篇(2)——算法初步 文章目录4.1 排序4.1.1 选择排序4.1.2 插入排序4.1.3 排序题与sort函数的应用4.2 散列4.2.1 散列的定义与整数散列4.2.2 字符串hash初步4.3 递归4.3.1 分治4.3.2 递归4.4 贪心4.4.1 简单贪心4.4.2 区间贪心4.5 二分4.5...

grefwfdxz 786

算法笔记练习 4.1 排序 问题 A: 排序

题目链接 题目 题目描述 对输入的n个数进行排序并输出。 输入 输入的第一行包括一个整数n(1<=n<=100)。 接下来的一行包括n个整数。 输出 可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。 每组测试数据的结果占一行。 样例输入 5 5 4 3 1 2 样例输出 1 2 3 4 5 代码 #include <stdio.h> #in...

Gorgeoustray 397
上一篇: PAT (Basic Level) Practice 1084 外观数列 C++
下一篇: Lintcode 846. 多关键字排序 C++
Cold__Winter
博客等级 码龄9年 16粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值