常用类之三----最小堆实现优先队列
来源:互联网 发布:淘宝金币自动抵钱 编辑:程序博客网 时间:2024/05/05 19:37
Priority_Queue.h
#include"MinHeap.h"
template<class T>
class Priority_Queue{
public:
Priority_Queue();
~Priority_Queue();
void Push(const T &x);
T Pop();
bool IsEmpty();
bool IsFull();
private:
MinHeap<T> *m_heap;
const int maxSize;
};
template<class T>
Priority_Queue<T>::Priority_Queue():maxSize(100){
m_heap = new MinHeap<T>(maxSize);
}
template<class T>
Priority_Queue<T>::~Priority_Queue(){
delete m_heap;
}
template<class T>
void Priority_Queue<T>::Push(const T &x){
m_heap->Insert(x);
}
template<class T>
T Priority_Queue<T>::Pop(){
T temp;
m_heap->RemoveMin(temp);
return temp;
}
template<class T>
bool Priority_Queue<T>::IsEmpty(){
return m_heap->IsEmpty();
}
template<class T>
bool Priority_Queue<T>::IsFull(){
return m_heap->IsFull();
}
mainApp.cpp测试文件:
#include<iostream>
#include"Priority_Queue.h"
using namespace std;
void main(){
int a[5] = {3,2,1,4,5};
int i;
Priority_Queue<int> p_queue;
for(i = 0; i < 5; i++){
p_queue.Push(a[i]);
}
while(!p_queue.IsEmpty()){
cout<<p_queue.Pop()<<" ";
}
cout<<endl;
}
- 常用类之三----最小堆实现优先队列
- 最小优先队列--堆实现
- 数据结构实现之最小优先队列(最小堆)
- 最小堆优先队列C++实现
- 用最小堆实现优先队列
- 简单优先队列实现-基于最小堆
- 优先队列(最小堆)
- 最小堆模拟优先队列
- java 之堆实现优先队列
- 优先队列之二叉堆(JAVA实现)
- 【数据结构】之用堆实现优先队列
- 数据结构实现之最小索引优先队列
- 优先队列实现堆
- 优先队列(堆实现)
- Hdoj 1509 -Windows Message Queue 优先队列最小堆实现
- 最小堆 / 优先队列(C语言实现)
- min heap priority queue 最小堆实现的优先队列
- c语言最小堆的实现-优先队列
- 06年5月28日
- C# Trivia Test Q&A
- 快速正弦余弦运算
- 三个月--从混乱到重构
- 搜索引擎
- 常用类之三----最小堆实现优先队列
- 基于 Ajax 的无限级菜单(三)
- ViewState的使用
- 掌握 Ajax (1)
- 掌握 Ajax (2)-使用 JavaScript 和 Ajax 发出异步请求
- 无病呻咛
- 掌握 Ajax(3)-Ajax 中的高级请求和响应
- 掌握 Ajax (4)-利用 DOM 进行 Web 响应
- Shading