王道机试指南指南笔记-排序题

【王道机试笔记10】二叉排序树 二叉排序树 例3.5 二叉排序树 代码3.5 #include<iostream> using namespace std; struct Node{ Node *lchild; Node *rchild; int i; }tree[105]; int loc; Node *create(){ tree[loc].lchild = tree[loc].rchild = NULL... 阅读详情

王道机试指南指南笔记-排序题

写在前面

大噶好,因为准备初试我几乎没时间来更新博客了。考研初试已经过去几天了,现在正在准备复试。之前的内容因为初试被打断了,但我也不想再继续更新了,我将以研究生复试中的机试内容为主进行更新,也算是做一个笔记吧,到时候临时抱抱佛脚。

输入输出

首先强调下我这里的输入输出函数。我喜欢用c++的输入输出,当然cin与cout会存在超时问题,我这里为了方便还是直接用cin和cout(虽然后续可能应对某些提会出现问题,但是我还是先使用cin和cout)

需要事先声明以下内容:

#include<iostream>
using namespace std;

cin

一般使用方法:cin >> n;

cin不用指定输入的格式,无需添加地址符。

若要连续输入数据:cin >> n >> da >> c>> chr;

如果需要对string类型进行输入,则可以:

getline(cin, str);//str为string类型的变量名

cout

连续输出数据:cout << n << da << c << chr;

若果输出中需要换行,有以下两种方式:
cout << n << '\n';

cout << n << endl;

排序题(sort函数的使用)

1.sort函数的简单使用

一般的排序题并不要求使用特定的算法,如冒泡、归并等。可以直接使用c++STL模板库中的sort函数进行排序,真的挺方便的。首先应当注意,c++中的sort函数比c语言中的qsort函数更加方便。但应当注意,sort函数使用之前应当声明:

#include <iostream>
using namespace std;

使用方法为:sort(起始地址,结束地址,排序规则);

EX2.1:
在这里插入图片描述

#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(int x, int y) {
	return x < y;
}
int main(){
	int n;
	cin >> n;
	int a[100];
	
	for(int i = 0;i < n;i++){
		cin >> a[i];
	}
	
	sort(a,a+n,cmp);
	
	for(int i = 0;i < n;i++){
		cout << a[i] << ' ';
	}
}

其中的cmp函数是用于定义排序的规则的

2.针对结构体的排序

sort函数还能对一个结构体进行排序。结构体一般会包含如下信息:姓名(string),学号(string),成绩(int),年龄(int)等信息。

注:

添加string类应加头文件

#include 不是#include<string.h>

结构体定义:

struct E{ //E可以用作定义新的变量
string name;
int age;
int score;
}buf [1000];//buf为一个容量为1000大小的结构体组

EX2.2
在这里插入图片描述

#include<iostream>
#include<algorithm>
#include<string> 
using namespace std;

struct E{ //E可以用作定义新的变量
string name;
int age;
int score;
}buf [1000];//buf为一个容量为1000大小的结构体组

bool cmp(E a, E b) {
	if (a.score != b.score) return a.score < b.score;
	else if(a.name != b.name) return a.name < b.name;
	else if(a.age != b.age) return a.age < b.age;
}
int main(){
	int n;
	cin >> n;
	for(int i = 0;i < n;i++){
	cin >> buf[i].name >> buf[i].age >> buf[i].score;
}

sort(buf,buf+n,cmp);

for(int i = 0;i < n;i++){
	cout << buf[i].name << ' '<< buf[i].age <<' '<<buf[i].score <<endl;
}

}
考研/保研机试(王道机试指南+算法笔记上机指南) 考研/保研机试,包括王道机试指南、算法笔记上机指南,足以应付各大机试、CSP等 立即下载

相关推荐

王道机试指南PDF 高清版

王道机试指南,绝版资源,对于考研复试上机很有帮助,该资源非常清晰。

清华大学考研复试机试:成绩排序

题目描述: 查找和排序 题目: 输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。 示例: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 smith 67 从低到高 smith ...

leihanwen的博客 553

相衬成像介绍

相衬成像介绍

qq_41981768的博客 2912

王道考研复试机试视频笔记 2023版新版--第三章 排序和查找

例题 3.1 排序 对输入的n个数进行排序并输出。 输入描述: 输入的第一行包括一个整数n(1

qq_39520843的博客 566

Informer:比Transformer更有效的长时间序列预测

目录 AAAI 2021最佳论文:比Transformer更有效的长时间序列预测 Background Why attention Methods:the details of Informer Solve_Challenge_1:最基本的一个思路就是降低Attention的计算量,仅计算一些非常重要的或者说有代表性的Attention即可,一些相近的思路在近期不断的提出,比如Sparse-Attention,这个方法涉及了稀疏化Attention的操作,来减少Attention计算量,然后涉及的

To be a better man 1万+

STM32F103单片机驱动TM1637数码管显示模块

最近项目中需要用到数码管显示,于是买了一个TM1637芯片驱动的四位数码显示模块,现将调试过程记录一下,方便以后参考。 使用的单片机是STM32F103C8T6最小系统 使用的数码管模块是TM1637四位数码管显示模块 实际运行效果 下面先看一下TM1637和数码管连接的具体线路图 实际使用的模块没有带按键,只用了4个数码管,模块和单片机连接只需要4根线VCC、GND、CLK、DIO。芯片和单片机通信使用的是I2C总线,下面就来说一下如何...

HXYDJ的博客 1万+

王道计算机考研机试指南二刷笔记-自用8

王道计算机考研机试指南—二刷day1第三章

weixin_45377362的博客 665

手把手教你学SOME/IP「3.2.1.发布/订阅行为」

本文详细介绍了SOME/IP协议中的服务发现机制,重点解析了发布/订阅行为的流程。主要内容包括:1)服务发布与Method通信流程,涵盖find/offer报文交互、TTL保活机制及异常处理;2)服务订阅与Event通信流程,包括subscribe/ack报文交互和组播延迟机制;3)特殊场景如快速发送、半周期回复、重置订阅等机制。通过邮局订阅报纸的类比,帮助理解服务发现的核心原理,并强调流程图对于问题定位的重要性。文章为SOME/IP协议的工程实现提供了实用指导。

nihaoljq2010的博客 1221

王道考研机试指南重写

王道考研机试指南重写前言数据结构一章栈的应用括号匹配问题简单计算器 前言 几年前因为应付有些学校的机试,大致刷了一遍《王道考研机试指南》里代码王道考研机试指南代码合集。几年过去了想重新刷一遍,加强算法能力,同时也熟悉c++的新特性。以下代码更多的不是算法效率,而是尽可能使用一些新特性并保持代码规范(尝试规范)。......

最佳损友1020的博客 3735

LangChain .NET:C#开发者构建AI应用的RAG框架与实战指南

大语言模型(LLM)作为当前人工智能的核心技术,通过深度学习海量文本数据,掌握了强大的语言理解和生成能力。其原理基于Transformer架构,通过自注意力机制捕捉长距离依赖关系,从而实现对复杂语义的建模。这一技术价值在于能够将非结构化的自然语言转化为可计算、可推理的表示,为各类智能应用提供认知基础。在实际工程实践中,LLM常被应用于构建检索增强生成(RAG)系统和AI智能体(Agent)。RAG通过结合外部知识库检索与LLM生成,有效提升了问答的准确性和事实性,是构建企业知识库、智能客服等场景的关键技术。

weixin_42538175的博客 705

手把手教你用ESP32-S3打造智能聊天机器人-立创实战派

本文将详细介绍如何利用立创ESP32-S3开发板,烧录小智AI程序,快速实现一个功能强大的聊天机器人。

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 9913

王道机试课程总结

3)例题2.1 abc 先设计算法3个for循环,分析复杂度,与题目数据量进行对比,得出结果可以使用。4)多组输入,指定跳出:利用while循环输出多组数据,用if,break语句实现指定跳出。2)操作:1查询代码讲解,2合并代码讲解,3路径压缩代码讲解,4树高低代码讲解。3) 第k大数, 快速排序讲解, 快速排序代码讲解,改进求第k大数。2)例题8.3Fibonacci(分治法,递推法,矩阵快速幂,公式法)2)逆序数对,归并排序讲解,归并排序、求逆序数算法代码讲解。

m0_57741101的博客 1097

FPGA DDR3实战(四):DDR地址映射自动化测试(1)—— 测试程序设计与代码逻辑

本文介绍了一种DDR地址映射自动化测试方案,旨在提高板卡调试效率。方案通过AXI4协议实现主从端通信,构建了包含地址控制器和测试数据生成器的模块化架构。测试程序支持突发传输、状态监控和错误检测,可灵活配置测试参数。采用状态机控制流程,先写入递增数据再读取比对,完成功能验证和性能评估。该方案可系统化验证DDR的正确性、稳定性和可靠性,相比传统手动测试显著提升效率。

FPGA_小田老师的博客 1977

【王道机试指南学习笔记】第三章 排序与查找

【Nan's 王道机试指南学习笔记】第三章 排序与查找前言与提示3.1 排序重点提醒题目练习例题3.1 排序(华科复试题) 前言与提示 排序与查找 是最经典的问题,各类的排序和查找方法需要了解! 这里放几篇写得很好的博文,供自己学习参考: https://blog.youkuaiyun.com/qq_20386411/article/details/83070101 排序:https://www.cnblogs.com/wujingqiao/articles/8961890.html 3.1 排序 重点提醒 短时间写出

qq_42735614的博客 575

PX4从放弃到精通(三):使用qt编译PX4

1 下载px4源码 2在Firmware所在目录下执行 mkdir Firmware-build cd Firmware-build cmake …/Firmware -G “CodeBlocks - Unix Makefiles” -DCONFIG=nuttx_px4_fmu-v5_default 第三步最后的px4_fmu-v5_default根据自己的情况修改 执行完后如图 打开QT 点击打开工程 选择源码的CmakeLists.txt文件 选择imported Kit 打开项目那一栏,构建目

超维空间科技的博客 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

王道考研系列 计算机考研 ——机试指南(第二版) 笔记(一)

王道机试笔记

qq_44353995的博客 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

王道机试笔记

关于时间复杂度 代码时间复杂度应在百万级别,即若算法的时间复杂度是O(n^2),则该n(往往在题目中会给出数据范围)不应大于3000,否则将会达到我们所说的千万数量级复杂度,从而程序运行时间超出题目中给出的用时限定。举例来说,我们不能在1秒时限的题目当中对10000个整数进行冒泡排序,而必须使用快速排序等时间复杂度为O(nlogn)的排序算法,否则程序很可能将会得到运行时间超出限制的评判结果。 第二章 经典入门 排序 scanf while (scanf ("%d",&n) != EOF) ,它在完

weixin_40530554的博客 362

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【王道机试笔记01】排序

排序 例2.1 排序 代码 2.1 #include<iostream> using namespace std; int main(){ int n,i,j,t; int m[105]; while(cin >> n){ for(i=0;i<n;i++){ cin >> m[i]; } for(i=n-1;...

cs_xuhuan的博客 205

《王道机试》:笔记(一)经典入门

《王道机试》学习笔记1、排序在c++中,推荐使用sort方法,进行块排sort比较升序,如果想用降序可以重写布尔方法,调用时sort(a,a+n,compare)bool compare(int a,int b){ if(a&gt;b)return true; else return false; }对于结构体的复杂排序,也可以使用自定义的布尔方法。首先按成绩由低到高,成绩相同时按照年龄从低到高b...

宴夜小丑的博客 1357

【王道机试指南学习笔记】第四章 字符串

【Nan's 王道机试指南学习笔记】第四章 字符串前言与提示4.1 字符串重点提醒基本操作1) 字符串定义&初始化2) 字符串长度3) string元素访问4) string元素操作5) string运算符6) string常用函数4.2 字符串处理重点提醒题目练习例题3.4 找x(哈工大复试题)例题3.5 查找(北邮复试题)习题3.5 找最小数(北邮复试题)习题3.6 打印极值点下标(北大复试题)习题3.7 找位置(华科复试题) 前言与提示 字符串处理及字符串匹配 是很基础的内容! 这里同样放几篇

qq_42735614的博客 1069

【王道机试指南学习笔记】第十一章 图论

【Nan's 王道机试指南学习笔记】第十一章 图论前言与提示11.1 概述重点提醒11.2 并查集重点提醒题目练习例题11.1 畅通工程(浙大复试)11.3 最小生成树重点提醒题目练习例题10.3 二叉排序树(华科复试)11.4 最短路径重点提醒题目练习例题10.3 二叉排序树(华科复试) 前言与提示 图论有关问题——并查集、最小生成树、最短路径、拓扑排序等。 抽象数据的图结构,主要介绍邻接矩阵和邻接表这两种实现方式。 11.1 概述 重点提醒 图是由顶点(Vertex)集合V和边(Edge)集合E组成。常

qq_42735614的博客 664

王道考研机试指南代码合集

王道考研机试指南代码合集 github链接 王道考研机试指南的代码合集,附有一些笔记和感悟 文件夹中包括机试指南的pdf,笔记部分,和代码对应题目的列表 如发现任何问题欢迎在下面留言

最佳损友1020的博客 2777

【王道机试指南学习笔记】第十章 数据结构二

【Nan's 王道机试指南学习笔记】第十章 数据结构二前言与提示10.1 二叉树Binary Tree重点提醒题目练习例题10.1 二叉树遍历(清华复试)例题10.2 二叉树遍历(华科复试)10.2 二叉排序树(二叉搜索树)重点提醒题目练习例题10.3 二叉排序树(华科复试)例题10.4 二叉排序树(华科复试)习题10.1 二叉搜索树(浙大复试) 前言与提示 数据结构一中介绍的都是线性数据结构,这次介绍一些非线性的——二叉树、二叉排序树、优先队列和散列表。 10.1 二叉树Binary Tree 重点提醒

qq_42735614的博客 209

王道机试 入门偏(+ PAT basic )

小技巧----位运算: a%2==1用a&1==1代替;a/=2用a>>=1代替。 PAT地址 PAT题型分类 & 记录汇总 王道分了6 parts 排序 日期 hash应用 排版题 查找 贪心 PAT上有个 字符串处理 模拟 B1002 #include<bits/stdc++.h> #include<stri...

一位浪漫的极客 1897

【王道机试笔记06】贪心

贪心 例2.11 FatMouse’ Trade 代码 2.14 #include<iostream> #include<algorithm> using namespace std; struct goods{ double j; double f; double s; bool operator < (const goods &A){ retu...

cs_xuhuan的博客 141

【王道机试笔记03】Hash的应用

Hash的应用 例2.5 统计同成绩学生人数 代码 2.8 #include<iostream> using namespace std; int main(){ int n,a; while(cin >> n){ if(n == 0) break; int Hash[105] = {0}; while(n--){ cin >> a;...

cs_xuhuan的博客 214
上一篇: 解决Pyinstaller打包Qt designer的两个问题
下一篇: 王道机试指南——日期处理
mAN_DOm
博客等级 码龄8年 13粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值