priority_queue predicate
От: BogusCoder Швеция  
Дата: 27.08.09 20:48
Оценка:
Возможно, я не верно понимаю, суть priority_queue. Я ожидал очередь с приоритетом


#include <queue>

//свой предикат, а не std::less
class pred
{
public:
  bool operator()(int a, int b)
  {
    return a > b;
  }
};

int main(int argc, char* argv[])
{
  std::priority_queue<int,std::vector<int>,pred> pqueue;
  for (int i = 9; i > 0; --i)
  {
    pqueue.push(i);
  }
}

Ожидал: 1,2,3,4,5,6,7,8,9
Получил: 1,2,4,3,7,8,5,9,6

Почему?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.