数组插入和移位

时间:2017-04-02 14:35:00

标签: ruby

我有以下数组:

a = [0, 1, 2, 3, 4, nil, nil]

我想在索引2中插入元素num,以便生成的数组为:

a = [0, 1, num, 2, 3, 4, nil] # note the size hasn't changed

我意识到数组可能不是本练习中最合适的数据结构,但我认为这是一项要求。

我该怎么做?

为什么?

我试图解决这个问题:

  

您将获得两个已排序的数组A和B,其中A在末尾有足够大的缓冲区来保存B.编写一个方法以按顺序将B合并到A中

到目前为止,这是我的代码:

def merge(a, b) # merge b -> a
  pointer = 0 # on a
  while !b.empty? do
    case b.first <=> a[pointer]
    when 0, 1 next
    when -1
      # insert element, shift array to the right
    end
  end
end

1 个答案:

答案 0 :(得分:4)

这是你在找什么?

a.insert(2, num)

不确定您是否希望手动移动元素,但这应该为您完成所有工作。