NAMD
heap.h
Go to the documentation of this file.
1 
7 #include "elements.h"
8 
9 class heapRecord
10 { public:
11  short deleted; // boolean
13 };
14 
16 public:
17  int next;
18 };
19 
20 class minHeap
21 {
22 private:
23  heapRecord *h;
24  int count;
25  int size;
26  void swap(int i, int j)
27  {
28  heapRecord temp = h[i];
29  h[i] = h[j];
30  h[j] = temp;
31  }
32 
33 public:
34  minHeap(int size);
35  ~minHeap();
36  int numElements();
37  int insert(InfoRecord *);
41 };
42 
43 class maxHeap
44 {
45 private:
46  heapRecord *h;
47  int count;
48  int size;
49 
50  void swap(int i, int j)
51  {
52  heapRecord temp = h[i];
53  h[i] = h[j];
54  h[j] = temp;
55  }
56 
57 public:
58  maxHeap(int size);
59  ~maxHeap();
60  int numElements();
61  int insert(InfoRecord *);
65 };
66 
Definition: heap.h:20
~minHeap()
Definition: heap.C:21
int insert(InfoRecord *)
Definition: heap.C:30
int numElements()
Definition: heap.C:121
maxHeap(int size)
Definition: heap.C:110
InfoRecord * next(heapIterator *)
Definition: heap.C:196
InfoRecord * next(heapIterator *)
Definition: heap.C:100
Definition: heap.h:9
InfoRecord * deleteMax()
Definition: heap.C:152
Definition: heap.h:43
~maxHeap()
Definition: heap.C:117
int next
Definition: heap.h:17
int insert(InfoRecord *)
Definition: heap.C:126
InfoRecord * iterator(heapIterator *)
Definition: heap.C:94
short deleted
Definition: heap.h:11
int numElements()
Definition: heap.C:25
minHeap(int size)
Definition: heap.C:14
InfoRecord * info
Definition: heap.h:12
InfoRecord * deleteMin()
Definition: heap.C:57
InfoRecord * iterator(heapIterator *)
Definition: heap.C:189