0
给定图像列表,每个图像都有一个字段位置。我编错了方向。算法翻转订购号码
该列表将根据其位置排序:1是最上面的项目。我不小心给了那个项目最高的数字,而它应该被给予最低。
我数点
[a=> 9, b=> 7, c=> 3, d=> 2, e=> 1]
但我希望他们编号
[e=> 9, d=> 7, c=> 3, b=> 2, a=> 1]
我应该使用这是什么样的算法? Ruby中的(伪)代码的红点:)
实际上,在该列表中大约有400个图像,位置编号(Image.position
)从1040开始并下降到1;这意味着有一些差距(例如341到600不存在)。
注1:显然,我可以简单地颠倒我的代码中的顺序。但这很丑陋,令人困惑,并打破了诸如“move_to_top”等方法的工作,我也需要重写这些方法。
注2:该代码似乎允许负数,所以每个位置编号的作用是* -1
。但感觉难看和困惑。