アルゴリズムとデータ構造 補足資料4-2 「線形探索」 横浜国立大学 理工学部 数物・電子情報系学科 富井尚志
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 void search( int x ) 仮引数 int x (自動)変数 int i i != 10 && a[i] != x false true i++; true false i != 10 有 無 戻り値なし(void)
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 search( 3 ) 仮引数 int x 3 (自動)変数 int i i != 10 && a[i] != x false true i++; true false i != 10 有 無 戻り値なし(void)
i=0 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 search( 3 ) != → false 仮引数 int x 3 (自動)変数 int i 0 != 10 && a[0] != x false true i++; true false i != 10 有 無 戻り値なし(void)
i=0 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 search( 3 ) != → false 仮引数 int x 3 (自動)変数 int i 0 != 10 && a[0] != x true false false true i++; true false i != 10 有 無 戻り値なし(void)
i=0 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 search( 3 ) != → false 仮引数 int x 3 (自動)変数 int i 0 != 10 && a[0] != x true false false true i++; true false 0 != 10 有 無 戻り値なし(void)
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 search( 5 ) 仮引数 int x 5 (自動)変数 int i i != 10 && a[i] != x false true i++; true false i != 10 有 無 戻り値なし(void)
i=0 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 search( 5 ) != → true 仮引数 int x 5 (自動)変数 int i 0 != 10 && a[0] != x false true i++; true false i != 10 有 無 戻り値なし(void)
i=0 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 search( 3 ) != → true 仮引数 int x 5 (自動)変数 int i 0 != 10 && a[0] != x true false true true i++; true false i != 10 有 無 戻り値なし(void)
i=0 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 search( 3 ) 仮引数 int x 5 (自動)変数 int i 1 i != 10 && a[i] != x false true i++; true false i != 10 有 無 戻り値なし(void)
i=1 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 search( 5 ) != → true 仮引数 int x 5 (自動)変数 int i 1 1 != 10 && a[1] != x false true i++; true false i != 10 有 無 戻り値なし(void)
i=1 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 5
i=2 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 5
i=3 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 5
i=4 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 5
i=5 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 5
i=6 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 == 仮引数 int x 5
i==6 にあった! 「5: みつかりました」 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] 54 16 8 9 1 5 22 19 60 == 仮引数 int x 5 i==6 にあった! 「5: みつかりました」
i=0 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 search( 30 ) 仮引数 int x 30 (自動)変数 int i i != 10 && a[i] != x false true i++; true false i != 10 有 無 戻り値なし(void)
i=1 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 30
i=2 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 30
i=3 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 30
i=4 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 30
i=5 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 30
i=6 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 30
i=7 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 30
i=8 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 30
i=9 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 54 16 8 9 1 5 22 19 60 仮引数 int x 30
i==10 (参照データなし!) →「30: みつかりませんでした」 a[0] a[1] a[2] a[3] a[4] a[5] a[6] 54 16 8 9 1 5 22 19 60 仮引数 int x 30 i==10 (参照データなし!) →「30: みつかりませんでした」