C++/Vector/vector reverse
Reverse all elements in a vector by using reverse
<source lang="cpp">
- include <iostream>
- include <vector>
- include <algorithm>
using namespace std; int main() {
vector<int> v; unsigned int i; for(i=0; i<10; i++) v.push_back(i); cout << "Initial: "; for(i=0; i<v.size(); i++) cout << v[i] << " "; cout << endl; reverse(v.begin(), v.end()); cout << "Reversed: "; for(i=0; i<v.size(); i++) cout << v[i] << " "; return 0;
} /* Initial: 0 1 2 3 4 5 6 7 8 9 Reversed: 9 8 7 6 5 4 3 2 1 0
*/ </source>
Use merge with back_inserter
<source lang="cpp">
- include <iostream>
- include <string>
- include <list>
- include <vector>
- include <algorithm>
- include <iterator>
using namespace std; int main( ) {
vector<string> v1, v2, v3; v1.push_back("a"); v1.push_back("c"); v1.push_back("e"); v2.push_back("b"); v2.push_back("d"); v2.push_back("f"); v3.reserve(v1.size( ) + v2.size( ) + 1); merge(v1.begin( ), v1.end( ), v2.begin( ), v2.end( ), back_inserter<vector<string> >(v3)); for(int i=0;i<6;i++){ cout << v3[i]; }
} /* abcdef
*/ </source>