1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | /* 제너릭 swap_ranges 알고리즘은 두 구간에 속하는 값들을 서로 맞바꾼다. */ #include <iostream> #include <cassert> #include <algorithm> #include <vector> #include <string> using namespace std; template < typename Container> Container make( const char s[]) { return Container(&s[0], &s[ strlen (s)]); } int main() { cout<< "Illustrating the generic swap_ranges algorithm." << endl; vector< char > vector1 = make< vector< char > >( "HELLO" ), vector2 = make< vector< char > >( "THERE" ); // 나중에 검사를 위해, vector1과 vector2의 내용을 저장해 둔다. vector< char > temp1 = vector1, temp2 = vector2; // vector1과 vector2의 내용을 서로 맞바꾼다. swap_ranges(vector1.begin(), vector1.end(), vector2.begin()); assert (vector1 == temp2 && vector2 == temp1); cout<< " --- Ok." << endl; return 0; } |
'STL > 변경 가능 시퀀스 알고리즘' 카테고리의 다른 글
[STL] swap (0) | 2010.05.17 |
---|---|
[STL] transform (0) | 2010.05.17 |
[STL] unique (0) | 2010.05.17 |
[STL] search (0) | 2010.05.17 |
[STL] rotate (0) | 2010.05.17 |