Diff between declaration of priority queue

here sir

  1. priority_queuepq;
  2. priority_queue<int,vector >pq;
  3. priority_queue<int,vector ,greater>pq;
    please explain diffrence between these three also sir is there any further modifications we can do here for using priority queue