Search on the blog

2010年11月4日木曜日

知ってると便利なSTL(4) swap

STLを使いこなすことは、アルゴリズムコンテストを勝ち抜くうえでとても重要である。
まだまだ、しらないSTLがたくさんあるようだ。。

今日のSTLはSTL Algorithmsのswap()。
その名のとおり、変数の値をswapできます。

まずは、簡単な例から。

int main() {
int a = 10;
int b = 3;

swap(a, b);
printf("%d %d\n", a, b);

return 0;
}

次に、swapを用いて選択ソートをしてみます。

int main() {
int x[] = {3,4,5,1,2,10,9,7,8,6};

REP(i, 10)
FOR (j, i, 10)
if (x[i] > x[j])
swap(x[i], x[j]);
REP(i, 10)
printf("%d ", x[i]);

return 0;
}
これは、かなり便利そう。
これから、重宝しそうです。

0 件のコメント:

コメントを投稿