Ookay、
1 for p := 1 to ⌊k/2⌋
つまり、アレイの半分まで移動します。
2 t := ap
3 ap := ak−p+1
4 ak−p+1 := t
このパターンは、「一時的なスワップ」として認識できますt。そして、何が交換されますか?
さて、apそしてak-p+1、1つpは配列の開始から-番目の要素であり、もう1つpは終了から-番目の要素です。
したがって、要約すると:
n最初のn-thを、配列の半分までの最後の-番目の配列値と交換します。そしてその後?配列が逆になります。
擬似コード形式は本当に奇妙に見え、そして最も重要なことに、あいまいに見えることに注意してください。
またはとak-p+1同等a[k-p+1]ですか?そうでない場合は、他のものをどのように表現しましたか。a[k]-p+1a[k-p]+1
したがって、最初に、このコードをPythonのような実際のソースに変換します。これははるかに読みやすいものです。
編集します。
I)さて、あなたが投稿したように、配列の範囲はからa1ですak。
aII)2つの変数(およびb)の値を交換する方法を考えてください。
1 temp := a
2 a := b
3 b := temp
もちろん、2行目で上書きaしたため、古い値を一時的に保存する必要がありました。これはです。batemp