逐次探索
明解C言語 入門編 > 6. 関数 >
逐次探索
Ruby
NINSU = 5 FAILED = -1 def search(key, no, ary) i = 0 while (1) return FAILED if (i == no) return i + 1 if (ary[i] == key) i += 1 end end ary = [83, 55, 777, 499, 20] key = 18 idx = search(key, NINSU, ary) if (idx == FAILED) print "#{key}は、見つかりませんでした。\n" else print "#{key}は、#{idx}番目にあります。\n" end key = 499 idx = search(key, NINSU, ary) if (idx == FAILED) print "#{key}は、見つかりませんでした。\n" else print "#{key}は、#{idx}番目にあります。\n" end
実行結果
L:\>ruby l:\lesson_06_049.rb
18は、見つかりませんでした。
499は、4番目にあります。