#include "iostream.h"
using namespace std;
//因为i从0开始
#define LeftChild(i) (2*(i)+1)
//i-N范围内,创建最大堆
void maxHeap(int A[], int i, int N){
int tmp;
int child;
for(tmp=A[i];LeftChild(i)<N;i=child){...
分类:
编程语言 时间:
2014-12-04 20:03:10
阅读次数:
218
maxheap.h
#include
template
class MaxHeap
{
public:
MaxHeap(int num);
MaxHeap(T Arr[], int arrsize, int totalsize);
bool insert(const T&);
bool del(T&);
void show() const;
void showonlevel()...
分类:
其他好文 时间:
2014-09-13 21:32:55
阅读次数:
300
按照题意,要实现两个方法: addNewNumer(int num) 和 getMedian()维护两个priority queue:maxHeap 和 minHeap。maxHeap中存放小于中位数的元素,minHeap中存放大于中位数的元素。并且保证两个堆里元素数量相等或者max比min多一个。...
分类:
其他好文 时间:
2014-08-26 19:11:26
阅读次数:
213