逐次探索
明解C言語 入門編 > 6. 関数 >
逐次探索
Java
class Lesson049 { static final int NINSU = 5; static final int FAILED = -1; public static void main(String[] args) { int[] ary = {83, 55, 777, 499, 20}; int key = 18; int idx = search(ary, key, NINSU); if (idx == FAILED) System.out.printf("%dは、見つかりませんでした。\n", key); else System.out.printf("%dは、%d番目にあります。\n", key, idx); key = 499; idx = search(ary, key, NINSU); if (idx == FAILED) System.out.printf("%dは、見つかりませんでした。\n", key); else System.out.printf("%dは、%d番目にあります。\n", key, idx); } static int search(final int ary[], final int key, final int no) { int i = 0; while (true) { if (i == no ) return FAILED; if (ary[i] == key) return i + 1; i++; } } }
実行結果
L:\>java Lesson049
18は、見つかりませんでした。
499は、4番目にあります。