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
。但感覺難看和困惑。