基本情報 アルゴリズムについて質問です。解説の変数iを2~10まで変化させるのに、T(i)→T(iー1)を繰り返すのはなぜですか?

1件の回答

回答を書く

1116001

2026-01-21 19:30

+ フォロー

ローテーション処理は[左回り]、[右回り]があります

この辺り(左/右回りの見解は教材で違う可能性があります)





ここで定義します。

左回り... 各要素のデータを左にずらす。左端のデータは右端へ

右回り... 各要素のデータを右にずらす。右端のデータは左端へ

その他条件として配列は1オリジンとする

この設問は左回りローテーションです





以下の処理解説で理解出来ますか?

★2始まりのパターンなので、T(i) → T(i-1) で正しい





左回りローテーションは

・最初に左端のデータを待避し(即ち、T(1))、

・T(i) ← T(i+1) ... iは1始まり、(N-1)まで、1ずつ増加

・最後に待避したデータをT(N)に格納

※T(i-1) ← T(i) ... iは2始まり、Nまで、1ずつ増加



右回りローテーションは

・最初に右端のデータを待避し(即ち、T(N))、

・T(i) ← T(i-1) ... iはN始まり、2まで、1ずつ減少

・最後に待避したデータをT(1)に格納

※T(i+1) ← T(i) ... iは(N-1)始まり、1まで、1ずつ減少





添字をこの進行方向に進めないと、データの上書きが発生し、

即ち、データの上書とはデータの欠損を意味します。



うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有