问题描述
ruby 中想对数组中间的一段进行排序,我知道可以这样:
a[1..2] = a[1..2].sort!
但这样会有一次拷贝,出于效率原因希望不产生任何拷贝,直接在原数组上排序。
问题解答
回答1:排序只是拷贝的数组的结构,数组内容不会被拷贝,所以对性能的影响是微乎其微的。
你多大的数据量会让这段代码成为性能瓶颈?
回答2:用sort排序方法会重新生成一个新数组,你可以利用数组下标取出元素进行比较,交换位置就可以了

问题描述
ruby 中想对数组中间的一段进行排序,我知道可以这样:
a[1..2] = a[1..2].sort!
但这样会有一次拷贝,出于效率原因希望不产生任何拷贝,直接在原数组上排序。
问题解答
回答1:排序只是拷贝的数组的结构,数组内容不会被拷贝,所以对性能的影响是微乎其微的。
你多大的数据量会让这段代码成为性能瓶颈?
回答2:用sort排序方法会重新生成一个新数组,你可以利用数组下标取出元素进行比较,交换位置就可以了
相关文章:1. 为什么要将Stop()放到animate的前面2. $(this).text()==="显示简介" 显示的no 而不是yes3. 如何实现点击安徽上海北京显示不同的内容?4. <tr valign="top"> 看不懂5. MySQL"="自动 like6. node.js mysql Cannot find module "net" 和 "tls"和"fs" 的问题7. 请问老师以下两种方式有何区别呢?8. rgb(255, 0, 0)不是红颜色吗,有三个p标签不同背景色的,为什么只返回第一个红色的?9. 大家学习下载的JQ是哪个版本的呢?10. return false a标签为什么还跳转?

网公网安备:皖ICP备2020019022号-8 Copyright ¢ 2020-2025 Powered by V1.8 All Rights Reserved 技术支持:乐呵呵网
声明:本站所有资源以学习为主