欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ 中"priority_queue" 優(yōu)先級(jí)隊(duì)列實(shí)例詳解

 更新時(shí)間:2017年04月01日 11:52:07   投稿:lqh  
這篇文章主要介紹了C++ 中"priority_queue" 優(yōu)先級(jí)隊(duì)列實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下

C++ 中"priority_queue" 優(yōu)先級(jí)隊(duì)列實(shí)例詳解

1. 簡(jiǎn)介

標(biāo)準(zhǔn)庫隊(duì)列使用了先進(jìn)先出(FIFO)的存儲(chǔ)和檢索策略. 進(jìn)入隊(duì)列的對(duì)象被放置在尾部, 下一個(gè)被取出的元素則取自隊(duì)列的首部. 標(biāo)準(zhǔn)庫提供了兩種風(fēng)格的隊(duì)列: FIFO 隊(duì)列(FIFO queue, 簡(jiǎn)稱 queue), 以及優(yōu)先級(jí)隊(duì)列(priority queue).

priority_queue 允許用戶為隊(duì)列中存儲(chǔ)的元素設(shè)置優(yōu)先級(jí). 這種隊(duì)列不是直接將新元素放置在隊(duì)列尾部, 而是放在比它優(yōu)先級(jí)低的元素前面. 標(biāo)準(zhǔn)庫默認(rèn)使用元素類型的 "<" 操作符來確定它們之間的優(yōu)先級(jí)關(guān)系. 如需改變大小關(guān)系, 需要使用std::greater<temple>函數(shù), 在functional頭文件中. 

2. 代碼

#include <iostream>    // std::cout 
#include <queue>     // std::priority_queue 
#include <vector>     // std::vector 
#include <functional>  // std::greater 
 
int main () 
{ 
  int myints[]= {10,60,50,20}; 
 
  std::priority_queue<int> intPQueue1 (myints, myints+4); 
  std::priority_queue<int, std::vector<int>, std::greater<int> > 
    intPQueue2 (myints,myints+4); 
 
  std::cout << "less than: " << std::endl; 
  while( !intPQueue1.empty() ){ 
    int pvalue = intPQueue1.top(); 
    std::cout << pvalue << " "; 
    intPQueue1.pop();  
  } 
  std::cout << std::endl; 
 
  std::cout << "bigger than: " << std::endl; 
  while( !intPQueue2.empty() ){ 
    int pvalue = intPQueue2.top(); 
    std::cout << pvalue << " "; 
    intPQueue2.pop();  
  } 
  std::cout << std::endl; 
 
  return 0; 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

最新評(píng)論