Mega Code Archive

 
Categories / C++ / Algorithm
 

Get min and max value from a vector with your won logic

#include <algorithm> #include <functional> #include <vector> #include <iostream> using namespace std; class MinAndMax : public unary_function<int, void> { public:   MinAndMax();   void operator()(int elem);   int min, max; protected:   bool first; }; MinAndMax::MinAndMax() : min(-1), max(-1), first(true){} void MinAndMax::operator()(int elem){   if (first) {     min = max = elem;   } else if (elem < min) {     min = elem;   } else if (elem > max) {     max = elem;   }   first = false; } int main(int argc, char** argv){   vector<int> myVector;   myVector.push_back(1);   myVector.push_back(2);   myVector.push_back(3);   MinAndMax func;   func = for_each(myVector.begin(), myVector.end(), func);   cout << "The max is " << func.max << endl;   cout << "The min is " << func.min << endl;   return (0); }