>  Q&A  >  본문

Ruby 原地排序数组的一段

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

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

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

PHP中文网PHP中文网2710일 전501

모든 응답(2)나는 대답할 것이다

  • 怪我咯

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

    정렬은 배열의 구조만 복사하고 배열의 내용은 복사되지 않으므로 성능에 미치는 영향은 최소화됩니다.

    얼마나 많은 데이터가 이 코드를 성능 병목 현상으로 만들까요?

    회신하다
    0
  • 阿神

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

    정렬 방법을 사용하면 새 배열이 다시 생성됩니다. 배열 첨자를 사용하여 비교할 요소를 꺼내고 위치만 바꿀 수 있습니다.

    회신하다
    0
  • 취소회신하다