机试复习-3

前言:前面耽误太多时间,2月份是代码月,一定抓紧赶上,每天至少两道题

day1 2024.2.6

1.排序开启:

1.机试考试:排序应用考察

c的qsort     c++的sort

作用:对数组,vector排序;自定义排序规则

#include<algorithm>

2.注意:arr是数组名,当他作为函数参数时,会退化成数组首地址

(1)静态动态数组排序

上图就是对数组进行排序

(2)自定义方式排序、说明我们现在目标就是设计compare,compare可以设计出任何类型

(3)compare是我们的关键部分

返回bool类型;它的参数类型和原来数组类型一致

compare函数内容:当数据不会发生交换时候,返回真

比如我们想要升序:左>又

2.奇偶整数排序

1.题目:3446. 整数奇偶排序 - AcWing题库

2.思路:不就是设计compare吗,那我第一次先把奇偶分开,第二次排序奇数,第三次排序偶数

老师思路

3.代码

//题目:给10个数,把这十个数排序,先输出奇数,降序;再输出偶数,升序
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
bool compare1(int lf, int rt)
{return lf % 2 == 1 && rt % 2 == 0;//先把奇偶分开
}
bool compare2(int lf, int rt)
{return lf % 2 == 1 && rt % 2 == 1 && lf > rt;
}
bool compare3(int lf, int rt)
{return lf % 2 == 0 && rt % 2 == 0 && lf < rt;
}
int main()
{int a[10];for (int i = 0; i < 10; i++)cin >> a[i];//现在排序//先去写comparesort(a, a + 10, compare1);现在他是先输出奇数,在输出偶数sort(a, a + 10, compare2);sort(a, a + 10, compare3);for (int i = 0; i < 10; i++)cout<< a[i]<<' ';
}

3.成绩排序

1.题目:

2.思路:自定义类型,别用map,struct可好用了,定义student类型的数组student t[1000]={0};就好了;然后就是写compare函数,可太好写了,一遍过

3.代码:

/*给定学生的成绩单,成绩单中包含每个学生的学号和分数,
请将成绩单按成绩从低到高的顺序重新排序。
如果学生的成绩相同,则按照学号从小到大的顺序进行排序。*/
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
/*bool compare1(int lf, int rt)
{//既然是有学号有成绩,两个东西,那就用map//map.entryset()是取值的意思return lf < rt;
}
bool compare2(int lf, int rt)
{//既然是有学号有成绩,两个东西,那就用map//map.entryset()是取值的意思return lf <= rt;
}
int main()
{int n; cin >> n;map<int, int> map1;int si, sc;for(int i=0;i<n;i++){//现在输入了全部的cin >> si >> sc;map1.insert({ si,sc });}map<int, int>::iterator it;//取出成绩,进行sortsort(map1.begin()->second, map1.end()->second, compare1);for (it=map1.begin();it!=map1.end();it++){if(it->second==it->second)}}*/
typedef struct student
{int number;int score;
}student;
bool compare(student lf, student rt)
{return lf.number != rt.number && lf.score < rt.score || lf.number < rt.number && lf.score == rt.score;
}
int main()
{int n; cin >> n; student t[1000] = { 0 };for (int i = 0; i < n; i++)cin >> t[i].number >> t[i].score;sort(t, t + n, compare);for (int j = 0; j < n; j++)cout << t[j].number << ' ' << t[j].score << '\n';
}

是不是这题太简单了,还是我能力提高了

明天加油

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/457563.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目经理怎么处理客户提出的不合理请求?

一、客户不合理请求的定义和特点 客户不合理请求是指客户在项目执行过程中提出的与项目需求、合同约定或者实际情况不符的要求&#xff0c;通常表现为追加要求、频繁的变更、过度的要求等。这些请求可能会导致项目范围膨胀、成本增加、工期延长、甚至影响项目进度和质量。客户…

前端基础复习(后端人员看前端知识)

企业级前端项目开发中&#xff0c;需要将前端开发所需要的工具、技术、流程、经验进行规范化和标准化&#xff0c;而不是零散的html、js、css文件堆叠在一起。 首先我们需配置前端的开发基础环境NodeJS&#xff0c;相当于后端人员java开发的JDK。然后搭建前端工程脚手架Vue-cl…

Golang GC 介绍

文章目录 0.前言1.发展史2.并发三色标记清除和混合写屏障2.1 三色标记2.2 并发标记问题2.3 屏障机制Dijkstra 插入写屏障Yuasa 删除写屏障混合写屏障 3.GC 过程4.GC 触发时机5.哪里记录了对象的三色状态&#xff1f;6.如何观察 GC&#xff1f;方式1&#xff1a;GODEBUGgctrace1…

LLaMA 模型中的Transformer架构变化

目录 1. 前置层归一化&#xff08;Pre-normalization&#xff09; 2. RMSNorm 归一化函数 3. SwiGLU 激活函数 4. 旋转位置嵌入&#xff08;RoPE&#xff09; 5. 注意力机制优化 6. Group Query Attention 7. 模型规模和训练超参数 8. 分布式模型训练 前置归一化与后置…

Linux的打包压缩与解压缩---tar、xz、zip、unzip

最近突然用到了许久不用的压缩解压缩命令&#xff0c;真的陌生&#xff0c; 哈哈&#xff0c;记录一下&#xff0c;后续就不用搜索了。 tar的打包 tar -cvf 压缩有的文件名称 需要压缩的文件或文件夹tar -cvf virtualbox.tar virtualbox/ tar -zcvf virtualbox.tar virtualbo…

【SpringBoot】application配置(5)

type-aliases-package: com.rabbiter.cm.domaintype-aliases-package: 这个配置用于指定mybatis的别名&#xff0c;别名是一个简化的方式&#xff0c;让你在Mapper xml 文件中引用java类型&#xff0c;而不需要使用使用完整的类名。例如&#xff0c;如果你在 com.rabbiter.cm.d…

MybatisPlus快速入门及常见设置

目录 一、快速入门 1.1 准备数据 1.2 创建SpringBoot工程 1.3 使用MP 1.4 获取Mapper进行测试 二、常用设置 2.1 设置表映射规则 2.1.1 单独设置 2.1.2 全局设置 2.2 设置主键生成策略 2.2.1 为什么会有雪花算法&#xff1f; 2.2.2 垂直分表 2.2.3 水平分表 2.…

Python进阶--下载想要的格言(基于格言网的Python爬虫程序)

注&#xff1a;由于上篇帖子&#xff08;Python进阶--爬取下载人生格言(基于格言网的Python3爬虫)-CSDN博客&#xff09;篇幅长度的限制&#xff0c;此篇帖子对上篇做一个拓展延伸。 目录 一、爬取格言网中想要的内容的url 1、找到想要的内容 2、抓包分析&#xff0c;找到想…

Verilog刷题笔记20

题目&#xff1a; Case statements in Verilog are nearly equivalent to a sequence of if-elseif-else that compares one expression to a list of others. Its syntax and functionality differs from the switch statement in C. 解题&#xff1a; module top_module ( …

STL算法(中)

常用排序算法 sort 功能描述&#xff1a; 对容器内元素进行排序 函数原型&#xff1a; sort(iterator beg, iterator end, _Pred) ; // 按值查找元素&#xff0c;找到返回指定位置迭代器&#xff0c;找不到返回结束迭代器位置 // beg 开始迭代器 // end 结束迭代器 …

远程主机可能不符合glibc和libstdc++ VS Code服务器的先决条件

报错信息 VSCode无法连接远程服务器&#xff0c;终端一直提醒&#xff1a; [22:46:01.906] > Waiting for server log... [22:46:01.936] > Waiting for server log... [22:46:01.951] > [22:46:01.967] > Waiting for server log... [22:46:01.982] > [22:…

从零开始手写mmo游戏从框架到爆炸(七)— 消息封装

导航&#xff1a;从零开始手写mmo游戏从框架到爆炸&#xff08;零&#xff09;—— 导航-CSDN博客 上一篇&#xff0c;我们初步把消息handler 注册到了服务中&#xff0c;在进行后续工作之前我们需要再做一些准备工作。 第一&#xff1a;把之前自己管理的bean放到spring中…