Поделиться через


priority_queue Functions

Демонстрируется использование priority_queue:: push,priority_queue:: шипучка,priority_queue:: пустойpriority_queue:: верхи priority_queue:: размер Стандартные функции библиотеки стандартных шаблонов (STL) в Visual C++.

priority_queue::push( ); 
priority_queue::pop( ); 
priority_queue::empty( ); 
priority_queue::top( ); 
priority_queue::size( );

Заметки

ПримечаниеПримечание

Имена класса и параметра в прототипе не соответствует версии в файле заголовка.Некоторые были изменены для улучшения удобочитаемости.

Образец отображает priority_queue реализация использование контейнеров deque и вектора.

Пример

// priority_queue.cpp
// compile with: /EHsc
//
// Functions:
//    priority_queue::push(), priority_queue::pop(),
//    priority_queue::empty(), priority_queue::top(), queue::size()

#include <iostream>
#include <queue>
#include <deque>
#include <vector>
#include <functional>

using namespace std ;

// Using priority_queue with deque
// Use of function less sorts the items in ascending order
typedef deque<int> INTDQU;
typedef priority_queue<int, INTDQU, less<int> > INTPRQUE;

// Using priority_queue with vector
// Use of function greater sorts the items in descending order
typedef vector<char> CHVECTOR;
typedef priority_queue<char, CHVECTOR, greater<char> > CHPRQUE;

int main(void)
{
    size_t size_q;
    INTPRQUE   q;
    CHPRQUE    p;

    // Insert items in the priority_queue(uses deque)
    q.push(42);
    q.push(100);
    q.push(49);
    q.push(201);

    // Output the item at the top using top()
    cout << q.top() << endl;

    // Output the size of priority_queue
    size_q = q.size();
    cout << "size of q is:" << size_q << endl;

   // Output items in priority_queue using top()
    // and use pop() to get to next item until
    // priority_queue is empty
    while (!q.empty())
    {
        cout << q.top() << endl;
        q.pop();

    }

// Insert items in the priority_queue(uses vector)
    p.push('c');
    p.push('a');
    p.push('d');
    p.push('m');
    p.push('h');

    // Output the item at the top using top()
    cout << p.top() << endl;

    // Output the size of priority_queue
    size_q = p.size();
    cout << "size of p is:" << size_q << endl;

    // Output items in priority_queue using top()
    // and use pop() to get to next item until
    // priority_queue is empty
    while (!p.empty())
    {
        cout << p.top() << endl;
        p.pop();

    }
}

Output

201
size of q is:4
201
100
49
42
a
size of p is:5
a
c
d
h
m

Требования

заголовок:<Очередь>

См. также

Основные понятия

Образец библиотеки стандартных шаблонов