c++ 优先级队列输出最小值

库函数优先级队列(priority_queue)输出最小值 代码


本文地址: http://blog.csdn.NET/caroline_wendy


库函数优先级队列(priority_queue)的实现方式是堆(heap), 默认是输出最大值.最大堆

输出最小值, 需要指定参数, priority_queue<int, vector<int>, greater<int> > 最小堆


代码:

[cpp]  view plain  copy
 print ?
  1. /* 
  2.  * main.cpp 
  3.  * 
  4.  *  Created on: 2014.7.20 
  5.  *      Author: spike 
  6.  */  
  7.   
  8. /*eclipse cdt, gcc 4.8.1*/  
  9.   
  10. #include <stdio.h>  
  11.   
  12. #include <queue>  
  13. #include <vector>  
  14. #include <functional>  
  15.   
  16. using namespace std;  
  17.   
  18. int main(void)  
  19. {  
  20.     priority_queue<int, vector<int>, greater<int> > pque;  
  21.   
  22.     pque.push(3);  
  23.     pque.push(5);  
  24.     pque.push(1);  
  25.     pque.push(4);  
  26.   
  27.     while (!pque.empty()) {  
  28.         printf("%d ", pque.top());  
  29.         pque.pop();  
  30.     }  
  31.     printf("\n");  
  32.   
  33.     return 0;  
  34. }  

输出:

[plain]  view plain  copy
 print ?
  1. 1 3 4 5   

猜你喜欢

转载自blog.csdn.net/acm160920007/article/details/77193756