Heap< C > Class Template Reference

Collaboration diagram for Heap< C >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Heap ()
 Heap (C *co)
void initcomp (C *co)
void percolateUp (int i)
void percolateDown (int i)
bool ok (int n)
int size ()
void setBounds (int size)
bool inHeap (int n)
void increase (int n)
void decrease (int n)
bool empty ()
void insert (int n)
int getminwopop ()
int getmin ()
bool heapProperty ()
bool heapProperty (int i)
void print ()

Public Attributes

vectint heap
vectint indices

Private Types

typedef vector< int > vectint

Private Attributes

C * comp

Detailed Description

template<class C>
class Heap< C >

Definition at line 31 of file heap.cc.


Member Typedef Documentation

template<class C>
typedef vector<int> Heap< C >::vectint [private]

Definition at line 32 of file heap.cc.


Constructor & Destructor Documentation

template<class C>
Heap< C >::Heap (  )  [inline]

Definition at line 38 of file heap.cc.

References Heap< C >::heap.

template<class C>
Heap< C >::Heap ( C *  co  )  [inline]

Definition at line 42 of file heap.cc.

References Heap< C >::comp, and Heap< C >::heap.


Member Function Documentation

template<class C>
void Heap< C >::initcomp ( C *  co  )  [inline]

Definition at line 47 of file heap.cc.

References Heap< C >::comp.

template<class C>
void Heap< C >::percolateUp ( int  i  )  [inline]

Definition at line 51 of file heap.cc.

References Heap< C >::comp, Heap< C >::heap, Heap< C >::indices, and parent().

Referenced by Heap< C >::increase(), and Heap< C >::insert().

template<class C>
void Heap< C >::percolateDown ( int  i  )  [inline]

Definition at line 63 of file heap.cc.

References Heap< C >::comp, Heap< C >::heap, Heap< C >::indices, left(), and right().

Referenced by Heap< C >::decrease(), and Heap< C >::getmin().

template<class C>
bool Heap< C >::ok ( int  n  )  [inline]

Definition at line 77 of file heap.cc.

References Heap< C >::indices.

template<class C>
int Heap< C >::size (  )  [inline]

Definition at line 83 of file heap.cc.

References Heap< C >::heap.

template<class C>
void Heap< C >::setBounds ( int  size  )  [inline]

Definition at line 87 of file heap.cc.

References Heap< C >::indices.

template<class C>
bool Heap< C >::inHeap ( int  n  )  [inline]

Definition at line 93 of file heap.cc.

References Heap< C >::indices.

Referenced by Heap< C >::insert().

template<class C>
void Heap< C >::increase ( int  n  )  [inline]

Definition at line 98 of file heap.cc.

References Heap< C >::indices, and Heap< C >::percolateUp().

template<class C>
void Heap< C >::decrease ( int  n  )  [inline]

Definition at line 104 of file heap.cc.

References Heap< C >::indices, and Heap< C >::percolateDown().

template<class C>
bool Heap< C >::empty (  )  [inline]

Definition at line 110 of file heap.cc.

References Heap< C >::heap.

template<class C>
void Heap< C >::insert ( int  n  )  [inline]

Definition at line 114 of file heap.cc.

References Heap< C >::heap, Heap< C >::indices, Heap< C >::inHeap(), and Heap< C >::percolateUp().

template<class C>
int Heap< C >::getminwopop (  )  [inline]

Definition at line 122 of file heap.cc.

References Heap< C >::heap.

template<class C>
int Heap< C >::getmin (  )  [inline]

Definition at line 126 of file heap.cc.

References Heap< C >::heap, Heap< C >::indices, and Heap< C >::percolateDown().

template<class C>
bool Heap< C >::heapProperty (  )  [inline]

Definition at line 136 of file heap.cc.

Referenced by Heap< C >::heapProperty().

template<class C>
bool Heap< C >::heapProperty ( int  i  )  [inline]

Definition at line 139 of file heap.cc.

References Heap< C >::heap, Heap< C >::heapProperty(), left(), parent(), and right().

template<class C>
void Heap< C >::print (  )  [inline]

Definition at line 143 of file heap.cc.

References Heap< C >::heap, and Heap< C >::indices.


Member Data Documentation

template<class C>
C* Heap< C >::comp [private]

Definition at line 34 of file heap.cc.

Referenced by Heap< C >::Heap(), Heap< C >::initcomp(), Heap< C >::percolateDown(), and Heap< C >::percolateUp().

template<class C>
vectint Heap< C >::heap

Definition at line 36 of file heap.cc.

Referenced by Heap< C >::empty(), Heap< C >::getmin(), Heap< C >::getminwopop(), Heap< C >::Heap(), Heap< C >::heapProperty(), Heap< C >::insert(), Heap< C >::percolateDown(), Heap< C >::percolateUp(), Heap< C >::print(), and Heap< C >::size().

template<class C>
vectint Heap< C >::indices

Definition at line 37 of file heap.cc.

Referenced by Heap< C >::decrease(), Heap< C >::getmin(), Heap< C >::increase(), Heap< C >::inHeap(), Heap< C >::insert(), Heap< C >::ok(), Heap< C >::percolateDown(), Heap< C >::percolateUp(), Heap< C >::print(), and Heap< C >::setBounds().


The documentation for this class was generated from the following file:
Generated on Tue Jun 10 18:32:00 2008 for qecode by  doxygen 1.5.2