priority_queue

来源:互联网 发布:红蚂蚁炒股软件下载 编辑:程序博客网 时间:2024/06/10 00:14

题记:

可能项目中会要用到“priority_queue”,提前预习啦~实践中出真知,见下面的代码:

代码

// priority_queue.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <iostream>#include <queue>using namespace std;class Node {private:unsigned intpriority_;intdata_;public:Node(unsigned int p, int d) {priority_ = p;data_ = d;}unsigned int priority() const {return priority_;}int data() const {return data_;}};class cmp {public://注意1.必须是public,否则STL没法用这个规则bool operator()(const Node &t1, const Node &t2){return t1.priority() < t2.priority();}//注意2//用法//cmp c;//cout << c(t1, t3) << endl;};int _tmain(int argc, _TCHAR* argv[]){Node t1(5,5), t2(3, 3), t3(7, 7);priority_queue<Node, vector<Node>, cmp> Q;Q.push(t1);Q.push(t2);Q.push(t3);while (!Q.empty()) {cout << Q.top().data() << endl;Q.pop();}cmp c;cout << c(t1, t3) << endl;return 0;}

解释:

1,我在Node中定义了优先级,priority_。呵呵~这种写法是模仿我们公司的高手啦~~
2,priority_queue中,cmp是定义了优先级。

3,注意输出结果啊。

有什么问题,留言啊。

原创粉丝点击