Очередь с приоритетом: priority_queue

Очередь с приоритетом - это тип контейнера, который позволяет достичь константной скорости доступа к максимальному (или минимальному) элементу (O(1)), за счет увеличения скорости вставки элементов в контейнер до логарифмической (O(logn)).

Основные операторы:


top   -  Доступ к верхнему элементу 
 
size  - Возвращает количество элементов в контейнере 

push  - вставляет элемент и сортирует базовый контейнер 

pop  - удаляет первый элемент 

Пример получения максимума:

 
 
#include <iostream>
#include <queue>
#include "stdio.h"
using namespace std;

main()
{
	
	priority_queue <int> p_queue;
	int N,a;
	scanf("%d",&N);
	
	for(int i = 0;i<N;i++)
	{
   
	scanf("%d",&a);
	p_queue.push(a);
	
  }
  cout<<p_queue.top();
	
}