今課題のコードを書いてて、ふと考えたんだけども、変数a,bの数を入れ替えるプログラムって、単純に
int temp;
temp=a;
a=b;
b=temp;
で片付くけどさ、これってもっと高速にならないのかなーと思って、このtempを削れないかなーと15分程頑張ってみた。
a=b-a;
b=b-a;
a=b+a;
うぉぅ、出来た!交換アルゴリズムから変数の宣言を排除出来たぞ!…しかしこれ、全体の計算量は増えてる気がしてならない。変数宣言が1つ減って加減算が3つ増えてる…。これ、どうなんでしょうね。まあ、何れにせよ、こんなアルゴリズム本読みゃ何処にでも載ってるだろうからどうでもいいですが。