C++/STL Algorithms Helper/negate
Negate contents of a list with transform() and negate()
<source lang="cpp">
- include <iostream>
- include <list>
- include <functional>
- include <algorithm>
using namespace std;
int main() {
list<double> l; int i; for(i=1; i<10; i++) l.push_back((double)i); list<double>::iterator p = l.begin(); while(p != l.end()) { cout << *p << " "; p++; } cout << endl; p = transform(l.begin(), l.end(),l.begin(),negate<double>()); cout << "Negated contents of the list:\n"; p = l.begin(); while(p != l.end()) { cout << *p << " "; p++; } return 0;
}
</source>
negate for list
<source lang="cpp">
- include <iostream>
- include <list>
- include <functional>
- include <algorithm>
using namespace std; int main() {
list<double> vals; for(int i=1; i<10; i++) vals.push_back((double)i); cout << "Original contents of vals:\n"; list<double>::iterator p = vals.begin(); while(p != vals.end()) { cout << *p << " "; p++; } cout << endl; // use the negate function object p = transform(vals.begin(), vals.end(), vals.begin(), negate<double>()); // call function object cout << "Negated contents of vals:\n"; p = vals.begin(); while(p != vals.end()) { cout << *p << " "; p++; } return 0;
}
/*
Original contents of vals: 1 2 3 4 5 6 7 8 9 Negated contents of vals: -1 -2 -3 -4 -5 -6 -7 -8 -9
*/ </source>
negate the contents of result
<source lang="cpp">
- include <iostream>
- include <vector>
- include <algorithm>
- include <functional>
using namespace std; int main() {
vector<int> v, v2, result(10); for(unsigned i=0; i < 10; ++i) v.push_back(i); for(unsigned i=0; i < 10; ++i) v2.push_back(i); transform(v.begin(), v.end(), v.begin(), negate<int>()); return 0;
}
</source>