アルゴリズムの基本:値の交換…swap(スワップ)…①

プログラミングでは、いろいろな場面で、2つの変数の値を交換する処理を必要とします。
2つの変数の値を交換することをスワップ(swap)とも言います。
今回は、基本的な交換のアルゴリズムを説明します。



スポンサードリンク


2つの変数AとBの値を交換する基本的な方法は、もう1つ作業用に変数(ここでは変数名W)を用意して使用する、次のアルゴリズムによる方法です。

なお、今回は、すでに変数Aには値1が、変数Bには値99が入力されているものとし、変数Wも用意してあるものとして、これらの変数AとBの値を交換する例を使って説明します。

交換前の初期状態
交換前の初期状態

アルゴリズムは次の3つの処理の順次構造になります。

<交換のアルゴリズム>

①作業用変数Wに、変数Aの値を代入
②変数Aに、変数Bの値を代入
③変数Bに、作業用変数Wの値を代入

①作業用変数Wに、変数Aの値を代入

①作業用変数Wに、変数Aの値を代入
①作業用変数Wに、変数Aの値を代入

①の処理では、変数Aの値を変数Bの値に変える前に、作業用の変数Wに保存しておく処理です。

②変数Aに、変数Bの値を代入

②変数Aに、変数Bの値を代入
②変数Aに、変数Bの値を代入

②の処理では、変数Aの値を変数Bの値に変えます。

③変数Bに、作業用変数Wの値を代入

③変数Bに、作業用変数Wの値を代入
③変数Bに、作業用変数Wの値を代入

③の処理では、変数Bの値を作業用の変数Wの値、すなわち、変更前の変数Aの値に変えます。
以上、①から③の一連の処理手順で、変数AとBの値を交換することができました。

<交換のアルゴリズムのフローチャート>

このアルゴリズムフローチャートにしたものは、次の図です。

作業用変数を使った、2つの変数の値の交換のフローチャート
作業用変数を使った、2つの変数の値の交換のフローチャート

上記と同様の内容を動画でも説明しています。
どうぞ、ご覧ください。

コメントを残す