逐次探索

明解C言語 入門編 > 6. 関数 >

逐次探索

Python
# coding: Shift_JIS

NINSU  =  5
FAILED = -1

def search(ary, key, no):
    global FAILED

    i = 0;
    while (True):
        if (i == no):
            return FAILED
        if (ary[i] == key):
            return i + 1
        i += 1

ary = [83, 55, 777, 499, 20]
key = 18;
idx = search(ary, key, NINSU)
if (idx == FAILED):
    print "%dは、見つかりませんでした。" % key
else:
    print "%dは、%d番目にあります。"     % (key, idx)

key = 499
idx = search(ary, key, NINSU)
if (idx == FAILED):
    print "%dは、見つかりませんでした。" % key
else:
    print "%dは、%d番目にあります。"     % (key, idx)

実行結果

N:\>python lesson_06_049.py
18は、見つかりませんでした。
499は、4番目にあります。