Page List

Search on the blog

2010年11月4日木曜日

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

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

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

まずは、簡単な例から。
  1. int main() {  
  2.    int a = 10;  
  3.    int b = 3;  
  4.   
  5.    swap(a, b);  
  6.    printf("%d %d\n", a, b);  
  7.   
  8.    return 0;  
  9. }  

次に、swapを用いて選択ソートをしてみます。
  1. int main() {  
  2.     int x[] = {3,4,5,1,2,10,9,7,8,6};  
  3.   
  4.     REP(i, 10)  
  5.         FOR (j, i, 10)  
  6.             if (x[i] > x[j])  
  7.                 swap(x[i], x[j]);  
  8.     REP(i, 10)  
  9.         printf("%d ", x[i]);  
  10.   
  11.     return 0;  
  12. }  
これは、かなり便利そう。
これから、重宝しそうです。

0 件のコメント:

コメントを投稿