很久不写这东西了,昨天要写PRIM算法,于是就写了下.STL还不会写二叉堆,很悲哀啊,未来会学会的.现在,就先拿这个用咯.
贴,不多说了.刘翔就快开始了,特意来看他的.
// binaryHeap.h -- 2011-08-28-22.57
// Purpose:
// Define a class "binaryHeap".
// Declare methods of the class, and define element member.
#include <iostream>
class binaryHeap
{
public:
typedef struct node
{
int startIndex ;
int endIndex ;
int weight ;
} Node ;
private:
Node * m_heap ;
int m_size ;
int m_currentSize ;
void m_percolateUp (int index) ;
void m_percolateDown (int index) ;
public:
binaryHeap (int size = 0) ;
~binaryHeap (void) ;
bool isEmpty (void) ;
bool isFull (void) ;
bool insert (int startIndex, int endIndex, int weight) ;
bool deleteMin (Node * const pNode) ;
} ;