hotmail_mk 2022-08-12 09:48
浏览 45
已结题

求一个数组排序调整的算法

有一个学生的数组M,每个数组元素s是学生对象,对象结构大致如下:
学生对象(简称s)
学生.姓名(s.n)
学生.性别(s.s)
学生.语文(s.c)
学生.数学(s.m)
学生.英语(s.e)
学生.总分(s.t)
学生.顺序(s.p)

数组M的排序要求是按照学生的总分s.t排序的,假设是10个元素s1-s10。
第一次输入的数组M也是按照总分排好序的,s1的总分最高。
现在的需求是需要改变数组M的顺序,要求如下:
1、需要将s7,s8调整到第2、3的顺序(即s7.p=2; s8.p=3),且只能改变语文成绩。比如增加s7,s8语文成绩,s7,s8总分就会增加。改变的要求见2。
2、改变后的s1.c、s7.c、s8.c的值(语文成绩)不能大于95,s2-s6,s9、s10的语文成绩可以随意增减,但也不能大于95,最终结果s1-s10的语文成绩显得有一定档次,不要断档(我们可以定义3分即为断档)。比如情况1就是比较合理的,情况2就是不合理,有断档:
情况1(可以看出从89-95都有,没有断档):
s1.c=94,
s7.c=95,
s8.c=93,
s2.c=90,
s3.c=88,
s4.c=92,
s5.c=90,
s6.c=91,
s9.c=90,
s10.c=89
情况2(可以看出从89-95基本都有,但s3.c=82,83-88都没有,形成了断档):
s1.c=94,
s7.c=95,
s8.c=93,
s2.c=90,
s3.c=82,
s4.c=92,
s5.c=90,
s6.c=91,
s9.c=90,
s10.c=89,

就想问一下这个需求的算法或者逻辑。谢了!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月20日
    • 修改了问题 8月12日
    • 修改了问题 8月12日
    • 修改了问题 8月12日
    • 展开全部

    悬赏问题

    • ¥30 STM32 INMP441无法读取数据
    • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
    • ¥15 用visualstudio2022创建vue项目后无法启动
    • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
    • ¥500 把面具戴到人脸上,请大家贡献智慧
    • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
    • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
    • ¥30 c#打开word开启修订并实时显示批注
    • ¥15 如何解决ldsc的这条报错/index error
    • ¥15 VS2022+WDK驱动开发环境