C++-优先级队列
2016-04-02 12:45
357 查看
C++-优先级队列
之前做了一道搜索题目,涉及到优先级队列,特地练习记录一下。#include<cstdio> #include<iostream> #include<queue> using namespace std; struct note { int x; int y; int k; friend bool operator < (note a, note b) { return a.k < b.k; } }; int main() { priority_queue<note> q; struct note n[5]; n[0].x = 0;n[0].y = 1;n[0].k = 1; n[1].x = 0;n[1].y = 1;n[1].k = 3; n[2].x = 0;n[2].y = 1;n[2].k = 2; n[3].x = 0;n[3].y = 1;n[3].k = 6; n[4].x = 0;n[4].y = 1;n[4].k = 5; for (int i = 0; i < 5; i++) q.push(n[i]); while(q.size()) { note n1 = q.top();q.pop(); printf("x = %d, y = %d, k = %d\n",n1.x, n1.y, n1.k); } return 0; }
输出
x = 0, y = 1, k = 6 x = 0, y = 1, k = 5 x = 0, y = 1, k = 3 x = 0, y = 1, k = 2 x = 0, y = 1, k = 1
以下代码是表示根据k的大小,从大到小输出
friend bool operator < (note a, note b) { return a.k < b.k; }
相关文章推荐
- 【C语言】编写一个函数实现n^k,使用递归实现
- C语言(自加自减)
- C\C++ 获取当前路径
- c++中的构造函数和拷贝构造函数
- C语言中Union的用法
- c++学习(2.2)变量
- C语言函数和汇编函数相互调用
- 几个有关iOS的几个常见问题-----为什么选择OC语言
- 设计类CDate以满足:输出年月日日期格式;输入的日期加1;设置日期(参考清华版李春葆C++书籍)
- C++中的输出格式 八进制 十进制 十六进制
- c++断言设置
- C++中构造函数或析构函数定义为private
- 第1周 C语言及程序设计初步 例程-7 问题求解方法——迭代
- C语言18个经典问题答录
- C++ 判断double变量是否为0
- [leetcode]326. Power of Three(c语言)
- 测试某一段程序运行时间的方法
- C++统计一个文件中每个数字字符(0~9)出现的次数
- C语言中的强符号和弱符号(变量篇)
- 第1周 C语言及程序设计初步 例程-6 用循环累加