逐次探索 (番兵)
明解C言語 入門編 > 6. 関数 >
逐次探索 (番兵)
Ruby
NINSU = 5 FAILED = -1 def search(key, no, ary) ary[no] = key i = 0 while (1) break if (ary[i] == key) i += 1 end return (i == no ? FAILED : i + 1) 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_050.rb
18は、見つかりませんでした。
499は、4番目にあります。