码迷,mamicode.com
首页 > 其他好文 > 详细

STL优先队列的使用

时间:2014-09-06 22:27:13      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   使用   for   文件   div   

STL中有一个优先队列的容器可以使用。

【头文件】

queue 队列容器

vector 向量容器

【操作】

优先级队列支持的操作

q.empty()         如果队列为空,则返回true,否则返回false

q.size()            返回队列中元素的个数

q.pop()             删除队首元素,但不返回其值

q.top()             返回具有最高优先级的元素值,但不删除该元素

q.push(item)     在基于优先级的适当位置插入新元素

 

 

 

 

 

 

 

 

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<queue>
 4 
 5 using namespace std;
 6 
 7 struct cmp
 8 {
 9     bool operator()(int x,int y)
10     {
11         return x>y;
12     }
13 };
14 
15 typedef struct nod
16 {
17     int x,y;
18     friend bool operator < (nod a,nod b)
19     {
20         return a.y>b.y;
21     }
22 } node;
23 
24 int main()
25 {
26     priority_queue<int>simple;
27     priority_queue<int,vector<int>,cmp>define;
28     priority_queue<node>heap;
29     
30     int a[10]={20,50,3202,20,503,12,56,62,50,80};
31     
32     printf("Simple Test:\n");
33     for (int i=0;i<10;i++) simple.push(a[i]);
34     for (int i=1;i<=10;i++)
35     {
36         int temp=simple.top();
37         simple.pop();
38         printf("%d\n",temp);
39     }
40     
41     printf("Define Test:\n");
42     for (int i=0;i<10;i++) define.push(a[i]);
43     for (int i=1;i<=10;i++)
44     {
45         int temp=define.top();
46         define.pop();
47         printf("%d\n",temp);
48     }
49     
50     printf("Heap Test:\n");
51     node b[10]={{1,2},{2,100},{3,4},{4,50},{5,6},{6,7},{7,8},{8,9},{9,10},{10,11}};
52     for (int i=0;i<10;i++) heap.push(b[i]);
53     for (int i=1;i<=10;i++)
54     {
55         node temp=heap.top();
56         heap.pop();
57         printf("%d %d\n",temp.x,temp.y);
58     }
59     
60     printf("%d",2<1);
61     
62     return 0;
63 }

 

STL优先队列的使用

标签:style   blog   color   os   io   使用   for   文件   div   

原文地址:http://www.cnblogs.com/jcf94/p/3959826.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!