2007-04-07から1日間の記事一覧

コームソート

プログラミングの宝箱 アルゴリズムとデータ構造 (C magazine)のコームソートをRubyで。 class Array def comb_sort gap = self.size begin if 0 == (gap = gap * 10 / 13) gap = 1 end i = 0 has_sorted = false until (i + gap >= self.size) do if self.a…

Rakefileに定義されているタスクを表示する方法

$ rake -T 自作のRakefileで上記にてタスクの説明を表示させるためには desc "ここにタスクの説明を記述" をタスク定義の直前に記述。 こんな感じ。 #rake desc "Build target." task :default => [TARGET] file TARGET => OBJ do sh "#{CXX} #{OBJDIR}/#{OB…

最大公約数、最小公倍数

rationalをrequireすることで、以下のメソッドがIntegerで使えるようになる。 require "rational" p 6.gcd(4) #=> 2 p 6.lcm(4) #=> 12 p 6.gcdlcm(4) #=> [2, 12]

ハッシュ

ハッシュはHashを使って表現。 p hash = { "key1" => "val1", "key2" => "val2", "key3" => "val3" } p hash["key1"] #=> "val1" p hash.index("val2") #=> "key2"