Queue Stack C++

#include  
#include 
#include 
using namespace std;
class Prioritize {
public:
     int operator() ( const pair& p1,const pair& p2 ) {
         return p1.second < p2.second;
     }
};
int main()
{
     priority_queue< pair< string, unsigned int >,vector  >, Prioritize >   pq;
     pq.push( pair( "A", 2) );
     pq.push( pair( "B", 10 ) );
     pq.push( pair( "C", 1 ) );
     while ( !pq. empty() ) {
         cout << pq.top().first << endl;
         pq.pop();
     }
     return 0;
}