a[1]=26 a[2]=38 a[3]=49 a[4]=55 2. a[0]=55 a[1]=49 a[2]=38 a[3]=26 a[4]=17 3. a[0]=26 a[1]=17 a[2]=38 a[3]=55 a[4]=49 4. a[0]=17 a[1]=38 a[2]=49 a[3]=26 a[4]=55 5. a[0]=49 a[1]=38 a[2]=55 a[3]=26 a[4]=17 ɹüÿɹྻ B ͷॳظ͕ B ʦ÷ʧ B ʦøʧ B ʦùʧ B ʦúʧ B ʦûʧ ûĀ øþ úÿ üü ùý Ͱ͋Δͱ͖ɺਤͷϑϩʔνϟʔτͷखॱΛద༻ͨ͠ޙͷྻ B ͷͲΕ͔ɻ ։࢝ B Λೖྗ B Λग़ྗ OP ZFT ZFT OP ऴྃ O ! ÷ O 1 û B ʦOʧ 2 B ʦO + øʧ U ! B ʦO + øʧ B ʦO + øʧ ! B ʦOʧ B ʦOʧ ! U O ! O + ø B ʦ÷ʧ B ʦøʧ B ʦùʧ B ʦúʧ B ʦûʧ 配列は数値を⼊れる箱を複数個まとめたものである. 数値を⼊れる箱には0から順番に番号が割り振られている. この問題では,配列には5個の数値が⼊っている. 配列 49 17 38 55 26
B ʦúʧ B ʦûʧ ûĀ øþ úÿ üü ùý Ͱ͋Δͱ͖ɺਤͷϑϩʔνϟʔτͷखॱΛద༻ͨ͠ޙͷྻ B ͷͲΕ͔ɻ ։࢝ B Λೖྗ B Λग़ྗ OP ZFT ZFT OP ऴྃ O ! ÷ O 1 û B ʦOʧ 2 B ʦO + øʧ U ! B ʦO + øʧ B ʦO + øʧ ! B ʦOʧ B ʦOʧ ! U O ! O + ø B ʦ÷ʧ B ʦøʧ B ʦùʧ B ʦúʧ B ʦûʧ øɽ øþ ùý úÿ ûĀ üü ùɽ üü ûĀ úÿ ùý øþ úɽ ùý øþ úÿ üü ûĀ ûɽ øþ úÿ ûĀ ùý üü üɽ ûĀ úÿ üü ùý øþ 1 2 n=0,条件分岐1と⼀番下のn<-n+1により,nは0から3まで変わる. 条件分岐2では,図の配列の右隣の箱の中の数値の⼤⼩関係を調べて いる.右隣の箱に⼊っている数値が⼩さければyesに進み次の処理を する. Yesに進んだときは,右隣の数値と⼊れ替える処理が⾏われる. 右隣の数値a[n+1]を⼀時的にtに保存する. 右隣の箱 a[n+1] に数値 a[n] を⼊れる. 右隣にあった数値tを箱a[n]に⼊れる. この処理を1回⾏うと次のように配列の中⾝が変わる. 配列 49 17 38 55 26 配列 17 49 38 55 26
a[1]=26 a[2]=38 a[3]=49 a[4]=55 2. a[0]=55 a[1]=49 a[2]=38 a[3]=26 a[4]=17 3. a[0]=26 a[1]=17 a[2]=38 a[3]=55 a[4]=49 4. a[0]=17 a[1]=38 a[2]=49 a[3]=26 a[4]=55 5. a[0]=49 a[1]=38 a[2]=55 a[3]=26 a[4]=17 ɹüÿɹྻ B ͷॳظ͕ B ʦ÷ʧ B ʦøʧ B ʦùʧ B ʦúʧ B ʦûʧ ûĀ øþ úÿ üü ùý Ͱ͋Δͱ͖ɺਤͷϑϩʔνϟʔτͷखॱΛద༻ͨ͠ޙͷྻ B ͷͲΕ͔ɻ ։࢝ B Λೖྗ B Λग़ྗ OP ZFT ZFT OP ऴྃ O ! ÷ O 1 û B ʦOʧ 2 B ʦO + øʧ U ! B ʦO + øʧ B ʦO + øʧ ! B ʦOʧ B ʦOʧ ! U O ! O + ø B ʦ÷ʧ B ʦøʧ B ʦùʧ B ʦúʧ B ʦûʧ