priority_queueの順番

メモ

/*! if g++ -g 2012-07-06_005542.cpp -o 2012-07-06_005542.out; then ./2012-07-06_005542.out; fi
 */

#include <queue>
#include <iostream>


using namespace std;


int main(int argc, char *argv[]){
  priority_queue<int, vector<int>, less<int> > p;
  priority_queue<int, vector<int>, greater<int> > q;
  if(less<int>()(1,2)){
    cout << "1 is less than 2" << endl;
  }
  size_t n = 10;
  for(size_t i = 0; i < n; ++i){
    p.push(i);
    q.push(i);
  }
  while(p.size()){
    /* pは大きい順、qは小さい順に出てくる */
    cout << p.top() << "," << q.top() << endl;
    p.pop(); q.pop();
  }
  return 0;
}