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

 

posted @ 2022-01-11 11:45  FredGrit  阅读(25)  评论(0编辑  收藏  举报