C++ priority_queue sort elements descendingly

#include <iostream>
#include <uuid/uuid.h>
#include <ctime>
#include <string>
#include <sstream>
#include <unistd.h>
#include <fstream>
#include <pthread.h>  
#include <queue>

using namespace std;

static char *uuidValue = (char *)malloc(40);
static char *dtValue = (char *)malloc(20);

char *getTimeNow()
{
    time_t rawTime = time(NULL);
    struct tm tmInfo = *localtime(&rawTime);
    strftime(dtValue, 20, "%Y%m%d%H%M%S", &tmInfo);
    return dtValue;
}


void pqueue16();

int main()
{
    pqueue16();
    return 0;
}

void pqueue16()
{
    priority_queue<int> pq;
    srand(time(NULL));
    int rnd = 0;
    cout << "Original order" << endl;
    for (int i = 0; i < 100; i++)
    {
        rnd = rand() % 1000000;
        pq.push(rnd);
        cout << rnd << "\t";
    }

    cout << endl
         << endl;
    cout << "Sort descendingly" << endl;
    for (int i = 0; i < 100; i++)
    {
        cout << pq.top() << "\t";
        pq.pop();
    }

    cout << endl
         << endl
         << "Finished in pqueue16() and now is " << getTimeNow() << endl;
    free(dtValue);
    free(uuidValue);
}

Compile via 

g++ -g -std=c++2a -I. h1.cpp -lpthread -o h1  -luuid

 

Run ./h1

 

posted @ 2021-12-26 19:05  FredGrit  阅读(23)  评论(0编辑  收藏  举报