vector order by function and object
#include <iostream> #include <uuid/uuid.h> #include <ctime> #include <string.h> #include "BSTNode.h" #include <vector> using namespace std; void vectorSort7(); bool smaller(int i, int j); bool bigger(int i, int j); int main() { vectorSort7(); return 0; } bool smaller(int i, int j) { return (i < j); } bool bigger(int i, int j) { return i > j; }; struct myclass { bool operator()(int i, int j) { return (i < j); } } compObj; void vectorSort7() { srand(time(NULL)); vector<int> vec; for (int i = 0; i < 100; i++) { vec.push_back(rand()); } cout << "Comparer via function" << endl; std::sort(vec.begin(), vec.end(), smaller); vector<int>::iterator itr = vec.begin(); cout << "Order ascendingly" << endl; while (itr != vec.end()) { cout << *itr++ << "\t"; } sort(vec.begin(), vec.end(), bigger); cout << "\n\nOrder ascendingly" << endl; itr = vec.begin(); while (itr != vec.end()) { cout << *itr++ << "\t"; } cout<<"\n\nCompare via object"<<endl; sort(vec.begin(),vec.end(),compObj); itr=vec.begin(); while(itr!=vec.end()) { cout<<*itr++<<"\t"; } cout << "\n\nFinished in vectorSort7()" << endl; }
Compile
g++ -g -std=c++2a -I. h1.cpp BSTNode.cpp -o h1 -luuid
Run ./h1