搜尋

首頁  >  問答  >  主體

Ruby 原地排序數組的一段

ruby 中想對陣列中間的一段進行排序,我知道可以這樣:

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

但這樣會有一次拷貝,出於效率原因希望不產生任何拷貝,直接在原始數組上排序。

PHP中文网PHP中文网2772 天前568

全部回覆(2)我來回復

  • 怪我咯

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

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

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

    回覆
    0
  • 阿神

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

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

    回覆
    0
  • 取消回覆