逐次探索 (番兵)

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

逐次探索 (番兵)

Python
# coding: Shift_JIS

NINSU  =  5
FAILED = -1

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

    ary.append(key)

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

    if i == no:
        return FAILED

    return 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_050.py
18は、見つかりませんでした。
499は、4番目にあります。