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

HJ68 成绩排序

描述

给定一些同学的信息(名字,成绩)序列,请你将他们的信息按照成绩从高到低或从低到高的排列,相同成绩 

都按先录入排列在前的规则处理。 

例示:
jack      70
peter     96
Tom       70
smith     67 

从高到低  成绩 
peter     96 
jack      70 
Tom       70 
smith     67 

从低到高 

smith     67 

jack      70 

Tom       70 

peter     96 

注:0代表从高到低,1代表从低到高 

数据范围:人数:1≤n≤200 1≤n≤200 

进阶:时间复杂度:O(nlogn) O(nlogn) ,空间复杂度:O(n) O(n) 

输入描述:

第一行输入要排序的人的个数n,第二行输入一个整数表示排序的方式,之后n行分别输入他们的名字和成绩,以一个空格隔开

输出描述:

按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开

示例1

输入:

3
0
fang 90
yang 50
ning 70

复制输出:

fang 90
ning 70
yang 50

复制

示例2

输入:

3
1
fang 90
yang 50
ning 70

复制输出:

yang 50
ning 70
fang 90
#include <iostream>
#include<vector>
#include<map>
#include<algorithm>
using namespace std;//选出最小
void  selectSort(vector<string> A, int n, vector<string> name) {for (int i = 1; i <= n; i++) {int k = i;for (int j = i; j <= n; j++) {if (A[j] < A[k]) {k = j;}}string temp = A[i];string tempName = name[i];A[i] = A[k];name[i] = name[k];A[k] = temp;name[k] = tempName;}
}
//  选出最大
void selectSort2(vector<string> A, int n, vector<string> name) {for (int i = 1; i <= n; i++) {int k = i;for (int j = i; j <= n; j++) {if (A[j] > A[k]) {k = j;}}string temp = A[i];string tempName = name[i];A[i] = A[k];name[i] = name[k];A[k] = temp;name[k] = tempName;}
}int main() {int n;int method;string name;string score;vector<string> scores;vector<string> namearry;vector<vector<string> > group;while (cin >> n >> method) {for (int i = 0; i < n; i++) {cin >> name;scores.push_back(name);cin >> score;scores.push_back(score);group.push_back(scores);}if (method == 0) {//降序scores.clear();for (int i = 0; i < group.size(); i++) {namearry[i] = group[i][1];scores[i] = group[i][0];}selectSort(scores, group.size(), namearry);for (int j = 0; j < group.size(); j++) {cout << namearry[j] << " " << scores[j] << endl;}} else if (method == 1) {//升序scores.clear();namearry.clear();for (int i = 0; i < group.size(); i++) {namearry[i] = group[i][1];scores[i] = group[i][0];}selectSort2(scores, group.size(), namearry);for (int j = 0; j < group.size(); j++) {cout << namearry[j] << " " << scores[j] << endl;}}}return 0;
}
// 64 位输出请用 printf("%lld")

相关文章:

HJ68 成绩排序

描述 给定一些同学的信息&#xff08;名字&#xff0c;成绩&#xff09;序列&#xff0c;请你将他们的信息按照成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示&#xff1a; jack 70 peter 96 Tom 70 smith 67 从高到低…...

FPGA——UART串口通信

文章目录 前言一、UART通信协议1.1 通信格式2.2 MSB或LSB2.3 奇偶校验位2.4 UART传输速率 二、UART通信回环2.1 系统架构设计2.2 fsm_key2.3 baud2.4 sel_seg2.5 fifo2.6 uart_rx2.7 uart_tx2.8 top_uart2.9 发送模块时序分析2.10 接收模块的时序分析2.11 FIFO控制模块时序分析…...

华为云Stack的学习(七)

八、华为云Stack存储服务介绍 1.云硬盘EVS 云硬盘&#xff08;Elastic Volume Service&#xff0c;EVS&#xff09;&#xff0c;又名磁盘&#xff0c;是一种虚拟块存储服务&#xff0c;主要为ECS&#xff08;Elastic Cloud Server&#xff09;和BMS&#xff08;Bare Metal Se…...

安装k8s集群

一、前置环境配置 安装两台centos 实验环境&#xff0c;一台pc配有docker环境&#xff0c;有两个centsos7容器&#xff0c;其中一个容器作为master&#xff0c;一个作为node。如果master与node都是用默认端口&#xff0c;会存在冲突&#xff0c;所以在此基础上做细微的调整。…...

C++中编写没有参数和返回值的函数

C中编写没有参数和返回值的函数 返回值为 void 函数不需要将值返回给调用者。为了告诉编译器函数不返回值&#xff0c;返回类型为 void。例如&#xff1a; #include <iostream>// void means the function does not return a value to the caller void printHi() {std…...

SWC 流程

一个arxml 存储SWC &#xff08;可以存多个&#xff0c;也可以一个arxml存一个SWC&#xff09;一个arxml 存储 composition &#xff08;只能存一个&#xff09;一个arxml 存储 system description (通过import dbc自动生成system) 存储SWC和composition的arxml文件分开&#…...

怒刷LeetCode的第10天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一&#xff1a;两次拓扑排序 第二题 题目来源 题目内容 解决方法 方法一&#xff1a;分治法 方法二&#xff1a;优先队列&#xff08;Priority Queue&#xff09; 方法三&#xff1a;迭代 第三题 题目来源 题目内容…...

java框架-Springboot3-场景整合

文章目录 java框架-Springboot3-场景整合批量安装中间件NoSQL整合步骤RedisTemplate定制化 接口文档远程调用WebClientHttp Interface 消息服务 java框架-Springboot3-场景整合 批量安装中间件 linux安装中间件视频 NoSQL 整合redis视频 整合步骤 RedisTemplate定制化 Re…...

在Bat To Exe Converter,修改为当异常结束或终止时,程序重新启动执行

在Bat To Exe Converter&#xff0c;修改为当异常结束或终止时&#xff0c;程序重新启动执行 .bat中的代码部分&#xff1a; .bat中的代码echo offpython E:\python\yoloProjectTestSmallLarge\detect.pypause&#xff0c;我想你能帮在Bat To Exe Converter&#xff0c;修改成…...

PythonWeb服务器(HTTP协议)

一、HTTP协议与实现原理 HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09;是一种用于在网络上传输超文本数据的协议。它是Web应用程序通信的基础&#xff0c;通过客户端和服务器之间的请求和响应来传输数据。在HTTP协议中连接客户与服务器的…...

Northstar 量化平台

基于 B/S 架构、可替代付费商业软件的一站式量化交易平台。具备历史回放、策略研发、模拟交易、实盘交易等功能。兼顾全自动与半自动的使用场景。 已对接国内期货股票、外盘美股港股。 面向程序员的量化交易软件&#xff0c;用于期货、股票、外汇、炒币等多种交易场景&#xff…...

c语言进阶部分详解(经典回调函数qsort()详解及模拟实现)

大家好&#xff01;上篇文章&#xff08;c语言进阶部分详解&#xff08;指针进阶2&#xff09;_总之就是非常唔姆的博客-CSDN博客&#xff09;我已经对回调函数进行了初步的讲解和一个简单的使用事例&#xff0c;鉴于篇幅有限没有进行更加详细的解释&#xff0c;今天便来补上。…...

win下 lvgl模拟器codeblocks配置

链接: 官方lvgl的codeblocks官方例子 下载慢的话&#xff0c;可能需要点工具。 需要下载的东西 https://github.com/lvgl/lv_port_win_codeblocks https://github.com/lvgl/lv_drivers/tree/4f98fddd2522b2bd661aeec3ba0caede0e56f96b https://github.com/lvgl/lvgl/tree/7a23…...

Quartus出租车计价器VHDL计费器

名称&#xff1a;出租车计价器VHDL计费器 软件&#xff1a;Quartus 语言&#xff1a;VHDL 要求&#xff1a; 启动键start表示汽车启动&#xff0c;起步价7元&#xff0c;同时路程开始计数&#xff0c;停止键stop表示熄火&#xff0c;车费和路程均为0&#xff0c;当暂停键pa…...

浅谈单元测试:测试和自动化中的利用

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程&#xff0c;刷完面试就稳了&#xff0c;你也可以当高薪软件测试工程师&#xff08;自动化测试&#xff09; 浅谈单元测试是一件棘手的事情。我很确定测试人员在某个时候会抱怨开发人员没有正确地进行单元测试&…...

深度详解Java序列化

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

Linux下的网络编程——B/S模型HTTP(四)

前言&#xff1a; HTTP是基于B/S架构进行通信的&#xff0c;而HTTP的服务器端实现程序有httpd、nginx等&#xff0c;其客户端的实现程序主要是Web浏览器&#xff0c;例如Firefox、Internet Explorer、Google Chrome、Safari、Opera等&#xff0c;此外&#xff0c;客户端的命令…...

Go语言入门篇

目录 一、基础数据类型 1.1 变量的定义方式 1.2 用%T输出变量的类型 二、复合数据类型 2.1 数组 2.1.2、数组的遍历 2.1.3 数组传参 2.2. 切片slice 2.2.1. 初始化切片 2.2.2. append向切片中追加元素 2.2.3. 切片的截取 2.3. map 2.3.1. map初始化 2.3.2. 添加和…...

基于springboot+vue的青年公寓服务平台

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

Spring-ImportSelector接口功能介绍

ImportSelector接口是至spring中导入内部类或者外部类的核心接口&#xff0c;只需要其定义的方法内返回需要创建bean的class字符串就好了&#xff0c;比如&#xff1a;当我们引入一个外部share包&#xff0c;我们拿到里面的Class返回出去&#xff0c;就能得到这个bean,是多么神…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...

【PX4飞控】mavros gps相关话题分析,经纬度海拔获取方法,卫星数锁定状态获取方法

使用 ROS1-Noetic 和 mavros v1.20.1&#xff0c; 携带经纬度海拔的话题主要有三个&#xff1a; /mavros/global_position/raw/fix/mavros/gpsstatus/gps1/raw/mavros/global_position/global 查看 mavros 源码&#xff0c;来分析他们的发布过程。发现前两个话题都对应了同一…...

k8s从入门到放弃之Pod的容器探针检测

k8s从入门到放弃之Pod的容器探针检测 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;容器探测是指kubelet对容器执行定期诊断的过程&#xff0c;以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...