这里就稍微说下优先队列的意思吧,其实概念并不复杂。堆是它的基础,优先队列其实就是在一段数九空间内部进行了堆操作,保证以自定义的优先级大小,或大或小的排列数据,以达到类似于队列的特点。
STL中实现了优先队列模板库,大家可以用用那个,在这我就不实现了,有兴趣的朋友可以参考我的《今天开始学算法系列---堆》这章。
思想给他家说下吧:其实就是先把数据构造成一个堆,大堆小堆随你,然后实现一个push和pop方法,当push一个数进入之后,进行一次堆排序,当调用pop后,把对顶数据弹出,再进行一次堆排序。大致就是这个思想,有兴趣的朋友自己实现吧
阅读(137) | 评论(0) | 转发(0) |