首頁  >  問答  >  主體

Ruby 原地排序数组的一段

ruby 中想对数组中间的一段进行排序,我知道可以这样:

a[1..2] = a[1..2].sort!

但这样会有一次拷贝,出于效率原因希望不产生任何拷贝,直接在原数组上排序。

PHP中文网PHP中文网2759 天前551

全部回覆(2)我來回復

  • 怪我咯

    怪我咯2017-04-24 09:12:39

    排序只是拷貝的陣列的結構,陣列內容不會被拷貝,所以對效能的影響是微乎其微的。

    你多大的資料量會讓這段程式碼成為效能瓶頸?

    回覆
    0
  • 阿神

    阿神2017-04-24 09:12:39

    用sort排序法會重新產生一個新數組,你可以利用數組下標取出元素來比較,交換位置就可以了

    回覆
    0
  • 取消回覆