【发布时间】:2021-05-19 08:30:01
【问题描述】:
我正在做一个作业,其中我有一个未排序形式的整数数组,我的任务是根据每个整数的值对其进行排名,其中最大值将获得第一名,最小值将获得 n -rank(在 20 个整数的数组中,最低值的排名为 20)。我不能使用二维数组,因为我们还没有学习它们。所以我只能使用
我不是在这里寻求解决方案,因此请不要发布代码,而是在此处发布有关如何构建算法或如何思考的一些提示。提前感谢您的任何想法和建议!
【问题讨论】:
-
你能对数组进行排序吗?可以原地整理吗?该问题是否有效率要求?你能用第二个数组来保持排名吗(因为我不确定你为什么首先提到一个二维数组;第二个相同大小的数组就可以了)?相同的值会发生什么情况,在这种情况下,排名可能会被跳过,或者最低的排名不会出现?
-
hmmm 很多问题:你应该对排名做什么?打印、存储或......您是否允许更改数组中元素的顺序,例如对数组进行排序?
-
你可能想看看这个:Sorting Algorithm。浏览那里给出的流行排序算法列表并单独阅读它们......
-
我要稍后打印,但我不担心打印部分。一旦我找到排名并用排名替换值,我就可以打印每个值。但我首先关心的是排名算法:-)。我会检查排序算法,谢谢!
-
你是对的,我必须将排名存储在 anther 数组中。我在下面发布解决方案: