一个简单的小问题难住我了,求大神解答,数据排序问题
易语言吧
全部回复
仅看楼主
level 3
数据如下
姓名 分数
小二 78
张三 78
李四 11
王五 100
.........
姓名是文本型,分数是整数型
如果有重复的分数,取出其中一个即可。 请问用什么方法可以求出分数最少的人的姓名,不借助外部数据库的情况下
2018年04月25日 10点04分 1
level 12
[阴险]全部放进数组,然后数组排序按升序。取出第一个就是
2018年04月25日 12点04分 2
数组里面只能放一个值,要么放名字要么放分数,除非用二维数组
2018年04月26日 00点04分
@英图网盟_郁闷 如果放分数进去,排序完虽然能知道哪个分数最小,但是就找不到最小的这个分数对应的是哪个人了
2018年04月26日 00点04分
level 12
哦看错了题意,是找名字啊,你把最低分数找到了,然后再循环判断谁分数=最低分数就是谁了[托腮]
2018年04月25日 12点04分 3
效率低了些,但是目前看是比较可行的办法
2018年04月26日 00点04分
level 14
找到最低分的时候记录分数的下标
通过下标得到人名
2018年04月25日 12点04分 4
可是如何能找到最小值,却又不改变下标呢
2018年04月26日 00点04分
@英图网盟_郁闷 循环遍历一边呗
2018年04月26日 02点04分
@英图网盟_郁闷 找最小值怎么会改变下标呢,你的想法不对吧
2018年04月26日 02点04分
冒泡排序效率很低吧
2018年04月27日 05点04分
level 16
一遍比较下来就可以了233
2018年04月25日 13点04分 5
level 6
最低分数=分数,如果下一组分数<最低分数,再赋值,知道最后一组数据,输出姓名。
2018年04月25日 13点04分 6
确实是个办法
2018年04月26日 00点04分
level 14
其实这个很简单,你需要把名字和分数分别加入两个数组,首先对分数数组进行排序,得出最小分数下标,然后再和未排序之前的分数数组比对得出最小分数的原始下标,这样也就得出最小分数的名字下标了
2018年04月26日 00点04分 8
level 5
改冒泡算法交换成绩数组是也交换姓名数组
简单办法 把姓名数组下标变成小数 加上成绩数据一起排序 再取姓名下标
78.0001
78.0002
11.0003
2018年04月26日 03点04分 11
level 11
插入排序法
选择排序法
冒泡排序法
2018年04月26日 07点04分 12
level 3
自定义数据类型了解一下
2018年04月27日 17点04分 17
1