首页 > 学院 > 开发设计 > 正文

STL: set 和 priority_queue

2019-11-08 19:49:30
字体:
来源:转载
供稿:网友
优先级队列默认是底层为vector实现的heapset 基于平衡红黑树两者插入元素时间复杂度都是O(log(n))使用默认的greater 得到的结果不同#include <iostream>#include <queue>#include <vector>#include <set>int main(){ using namespace std; vector<int>vec{1,3,5,78,4,23}; set<int, greater<int> > myset; PRiority_queue<int, vector<int>, greater<int> >myque; for(int i=0; i<6; ++i){ myset.insert(vec[i]); myque.push(vec[i]); } for(set<int, greater<int> >::iterator it=myset.begin() ; it!=myset.end(); ++it){ cout << *it <<" "; }//从大到小:78 23 5 4 3 1 cout << endl; for(int i=0; i<6; ++i){ cout << myque.top() <<" "; myque.pop(); }// 小顶堆: 1 3 4 5 23 78 getchar(); getchar(); return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表