priority queue method in C++

* create
```
#include <queue>
#include <array>
using namespace std;

struct classComp {
  bool operator() (int l, int r) { return l<r; }
};
bool funComp(int l, int r) { return l<r; }

int main () {
    array<int,5> v{1,2,3,4,5};
    
    priority_queue<int> a;  // default constructor
    priority_queue<int> b(a);  // copy constructor
    priority_queue<int> c(move(a));  // move constructor
    //priority_queue<int> d{1,2,3,4,5};  // priority_queue has no initializer list constructor
    priority_queue<int> e(3,1);
    //priority_queue<int> f(a.begin(),a.end());  // range constructor

    priority_queue<int>* g = new priority_queue<int>();  // new operator
    delete g;

    priority_queue<int,vector<int>,classComp> cc;
    priority_queue<int,vector<int>,decltype(&funComp)> cf(&funComp); 
}
```
* iterator (N/A)
* add
```
#include <iostream>
#include <queue>
using namespace std;

int main ()
{
    priority_queue<int> s;

    s.push(1);
    s.emplace(3);
    
    while(!s.empty()) {
        cout<<s.top()<<",";
        s.pop();
    }
    cout<<endl;
}
// 3,1,
```
* change (N/A)
* query
```
#include <queue>
#include <vector>
#include <iostream>
using namespace std;

int main() {
    auto compare = [](int a, int b) { return a>b; };
    priority_queue<int, vector<int>, decltype(compare)> s(compare);
    s.push(2);
    s.push(1);
    cout<<s.top()<<endl;
    cout<<s.empty()<<","<<s.size()<<endl;
}
```
* delete 
```
#include <queue>
#include <iostream>
using namespace std;

int main() {
    priority_queue<int> s;
    s.push(2);
    s.pop();
    cout<<s.empty()<<","<<s.size()<<endl;
}
```