平成27年春期午後問8
kiyoshiさん
(No.1)
https://www.fe-siken.com/kakomon/27_haru/pm08.html
解説で10行目は3以下までと記載ありますが、3未満ではないですか?
つまり、x[i]=1~2までの処理を繰り返すのではないでしょうか?
あと、pivot=6なので、10~12行目の処理は
1回目 x[i]=1つまり配列の3、
2回目 x[i]=2つまり配列の5、がpivot=3と比較されて繰り返しが終了し次の処理に移行ではないでしょうか?
解説で10行目は3以下までと記載ありますが、3未満ではないですか?
つまり、x[i]=1~2までの処理を繰り返すのではないでしょうか?
あと、pivot=6なので、10~12行目の処理は
1回目 x[i]=1つまり配列の3、
2回目 x[i]=2つまり配列の5、がpivot=3と比較されて繰り返しが終了し次の処理に移行ではないでしょうか?
2021.03.07 16:18
サラダバーさん
(No.2)
アルゴリズムの仕組みを勘違いされていると思います。
1回目 x[i]=1つまり配列の3、
2回目 x[i]=2つまり配列の5、がpivot=3と比較されて
が少し違います。
詳しく言えば
1回目 x[i]=1つまり配列の3、がpivot=3と比較されて、+1されて配列の2つめに移る
2回目 x[i]=2つまり配列の5、がpivot=3と比較されて、+1されて配列の3つめに移る
そして、3回目に移ろうかというところで、ループの条件に合わないので弾かれるというわけです。
つまり、ループするかどうかの判定が、配列の要素番号が+1された後に行われているということを理解する必要があるというわけです。
1回目 x[i]=1つまり配列の3、
2回目 x[i]=2つまり配列の5、がpivot=3と比較されて
が少し違います。
詳しく言えば
1回目 x[i]=1つまり配列の3、がpivot=3と比較されて、+1されて配列の2つめに移る
2回目 x[i]=2つまり配列の5、がpivot=3と比較されて、+1されて配列の3つめに移る
そして、3回目に移ろうかというところで、ループの条件に合わないので弾かれるというわけです。
つまり、ループするかどうかの判定が、配列の要素番号が+1された後に行われているということを理解する必要があるというわけです。
2021.03.07 19:11
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告