Module: 优先队列:priority_queue


Problem

1 /3


使用优先级队列找到最小值

Theory Click to read/hide

Priority Queue 是容器类型,这允许您实现最大(或最小)的恒定访问速度) 元素 (O(1)),通过将元素插入容器的速度提高到对数 (O(logn))。

基本运算符:


<分区> <强>顶   - 访问顶部 

元素 <分区>  
<分区> 尺寸  - 返回容器中的元素个数 
<分区>
推  - 插入一个元素并对底层容器进行排序 
<分区>
<强>流行  - 删除第一个元素 
<分区>
获取最大值的例子:

 
<分区>  
#include 
#include 
#include “stdio.h”
使用 命名空间 std;

主要的()
{

priority_queue <int>p_队列;
int N,a;
scanf("%d",&N);

用于int i = 0;i<N;i++)
{
   
scanf("%d",&a);
p_queue.push(a);

  }
  cout<<p_queue.top();

}

Problem

<分区> 给定一个数字序列。找出其中最小的数字。
<分区>  
<分区> 输入
<分区> 先给出数字N(序列中数字的个数,  1<=N<=100000) 然后是 <分区> N个数。 <分区>   <分区> 输出 <分区> 打印最小的数字。 <分区>
<正文> <分区>  
输入 输出
<分区> 7 <分区> 4 2 5 -1 4 6 2 -1