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

归并排序-成绩输出-c++

注:摘自hetaobc-L13-4

【任务目标】

按学号从小到大依次输入n个人的成绩,按成绩从大到小输出每个人的学号,成绩相同时学号小的优先输出。

【输入】 输入第一行为一个整数,n,表示人数。(1 ≤ n ≤ 100000) 输入第二行为空格隔开的n个整数,即每个人的成绩(1 ≤ 每人成绩 ≤ 1000000)

【输出】 输出一行,为空格隔开的n个正整数,即排好序后的每个人的学号。

【输入样例1】

5

3 3 5 5 4

【输出样例1】

3 4 5 1 2

【输入样例2】

4

2 3 4 3

【输出样例2】

3 2 4 1

【代码】

#include <iostream>
using namespace std;
int n,ans;
struct T{int id,cj;
}a[100000],c[100000];
bool cmp(T x,T y)
{if(x.cj==y.cj){return x.id<y.id;}return x.cj>y.cj;
}
void MergeSort(int l,int r)
{if(l==r){return;}int mid,i,j,k;mid=(l+r)/2;i=l;j=mid+1;k=l;MergeSort(l,mid);MergeSort(mid+1,r);while(i<=mid&&j<=r){if(cmp(a[i],a[j])){c[k++]=a[i++];}else{c[k++]=a[j++];}}while(i<=mid){c[k++]=a[i++];

http://www.lryc.cn/news/366992.html

相关文章:

  • ✔️Vue基础+
  • 基于VS2022编译GDAL
  • C语言之字符函数总结(全部!),一篇记住所有的字符函数
  • vite常识性报错解决方案
  • 2024.06.08【读书笔记】丨生物信息学与功能基因组学(第十二章 全基因组和系统发育树 第四部分)【AI测试版】
  • IO进程线程(八)线程
  • Linux基础指令网络管理003
  • 在Android中使用 MQTT 服务实现消息通信
  • qsort函数
  • 你可以直接和数据库对话了!DB-GPT 用LLM定义数据库下一代交互方式,数据库领域的GPT、开启数据3.0 时代
  • 数据结构笔记2 栈和队列
  • Python | 刷题笔记
  • 软件三班20240605
  • http和https数据传输与协议区分
  • 天才程序员周弈帆 | Stable Diffusion 解读(一):回顾早期工作
  • 软件架构初探
  • Python01 -分解整包数据到各个变量操作和生成器
  • flutter image_picker 执行拍照的图片怎么保存到本地
  • 基于Python的北京天气数据可视化分析
  • Linux编译器-gcc或g++的使用
  • 一条sql的执行流程
  • Android音乐播放器的思路处理
  • 算法课程笔记——可撤销并查集
  • 【排序算法】快速排序
  • OS复习笔记ch7-2
  • 4.通用编程概念
  • iBeacon赋能AR导航:室内定位技术的原理与优势
  • 【sklearn】【逻辑回归1】
  • java(kotlin)和 python 通过DoubleCloud的kafka进行线程间通信
  • vivado DIAGRAM、HW_AXI