当前位置:C++技术网 > 资讯 > 标准模板库_queue和priority_queue

标准模板库_queue和priority_queue

更新时间:2015-10-07 16:10:08浏览次数:1+次

队列容器queue

下面是queue队列容器数据结构示意图。

     queue队列具有入队push()、出队pop()、读取队首元素front()、读取队尾元素back()、判断队列是否为空empty()和队列当前元素的数目size()几种方法。


#include <iostream>  
#include <queue>  
   
using namespace std;  
   
int main(int argc, char* argv[])  
{  
   queue<int> num;  
   num.push(1);  
   num.push(2);  
   num.push(3);  
   num.push(9);  
   
   cout << num.size() << endl;  
   cout << num.empty() << endl;  
   cout << num.front() << endl;  
   cout << num.back() << endl;  
   while(!num.empty())  
    {  
       cout << num.front() << " ";  
       num.pop();  
    }  
   cout << endl;  
   return 0;  
}  
运行结果:
4
0
1
9
1 2  3  9
 
优先队列容器priority_queue
       优先队列容器priority_queue与队列一样,只能从队尾插入元素,从队首删除元素。但它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按先进先出的原则进行,而是将当前队列中最大的元素出队。这点类似于给队列里的元素进行了由大到小的顺序排序。元素的比较规则默认按元素的值由大到小排序;当然,可以重载“<”操作符来重新定义比较规则。也可以重载“()”重新定义比较规则。
       声明的头文件也为#include<queue>。