Ruby 原地排序数组的一段

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

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

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

阅读 3.3k
2 个回答

排序只是拷贝的数组的结构,数组内容不会被拷贝,所以对性能的影响是微乎其微的。

你多大的数据量会让这段代码成为性能瓶颈?

新手上路,请多包涵

用sort排序方法会重新生成一个新数组,你可以利用数组下标取出元素进行比较,交换位置就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏