このメソッドは、要素を取得し、既に順序付けられた配列の順序付けられた位置に挿入するだけです。ソートされた位置の配列に要素を追加する方がより効果的ですか?
@ary = [9,7,3,1]
insert_in_order(5)
@ary = [9,7,5,3,1]
私はすでに、配列の値をプッシュしてソートを実行するよりも速いことを確認しました。それは後で。しかし、これはこれ以上のステップを取っているようです。これを行うためのより効率的で効率的な方法がありますか?
def insert_in_order val
@val = val
@ary.each_with_index{|v,i|
if @val > v
@found_index = i
break
end
}
@found_index ? @ary.insert(@found_index, @val) : @ary.push(@val)
end
はどんな宝石があります検索木構造のために? – Klaus
@Klaus:検索木は多くの言語の標準ライブラリに含まれていますが、私はRubyでプログラミングしていないので、わかりません。 –