トップページ > アルゴリズム > 値の交換処理



概要

値の交換処理を書いてみましょう。


プログラム

var a:int = 5;
var b:int = 7;
 
aに5, bに7が入っている状態です。
このaとbの中身を交換して、aに7, bに5が入るようにしてみましょう。

よく考えてみれば分かりますが、これら二つの変数だけでは交換は出来ません。(一応、出来る方法はあるのですが、トリッキーなコードになるのでここでは説明しません)


var temp:int;
 
なので、退避用の変数を一つだけ用意しましょう。
tempはtemporaryの略で「一時的な」という意味です。


var temp:int = a;
a = b;
b = temp;
 
交換処理のコードはこのようになります。
まずaの値をtempに退避させておきます。(a = 5, b = 7, temp = 5)
aにbの値を代入します。(a = 7, b = 7, temp = 5)
bにtempの値を代入します(a = 5, b = 7, temp = 5)


trace("a = " + a, " : b = " + b, " : temp = " + temp); // a = 7  : b = 5  : temp = 5
 
これで交換が出来ましたね。


検証用コード

package
{
	import flash.display.Sprite;
 
	public class Main extends Sprite
	{
		public function Main()
		{
			var a:int = 5;
			var b:int = 7;
			var temp:int = a;
			a = b;
			b = temp;
 
			trace("a = " + a, " : b = " + b, " : temp = " + temp);
		}
	}	
}
 

|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|