【问题标题】:Sorting part of an array in Ruby在 Ruby 中对数组的一部分进行排序
【发布时间】:2015-06-25 15:01:42
【问题描述】:

我有一个 ruby​​ 数组,我想对从索引 i 开始的所有元素进行排序,直到索引 j 到位。不应修改数组的其余部分。我该如何实施?

【问题讨论】:

  • 措辞得当的问题。 @CodeGnome,承认吧:你被证明是错的。 :-)

标签: ruby arrays sorting


【解决方案1】:

您可以使用a[i, j] = a[i, j].sort! 从索引i 到索引j 进行排序。示例:

a = [8, 7, 5, 4, 3]
a[2..4] = a[2..4].sort!
a # => [8, 7, 3, 4, 5]

【讨论】:

  • 我正要评论它不会做 OP 想要的,但改变是好的
  • 很好,今天看来你很开心。
  • a[2..4] = a[2..4].sort! 会稍微高效一些,因为它只创建一个临时数组。
  • 示例是正确的,展示了如何使用范围对数组进行切片,2..4。第一行不正确,因为a[i, j] = a[i, j].sort 不是从索引i 排序到索引j,而是从索引i 排序,然后是j 的长度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-28
  • 1970-01-01
  • 2012-07-04
  • 1970-01-01
  • 2020-04-08
相关资源
最近更新 更多