diff options
author | Mike Buland <eichlan@xagasoft.com> | 2008-02-19 09:24:27 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2008-02-19 09:24:27 +0000 |
commit | e2a10c7b77b03bacf4d8b8dcf08f8f8f47628314 (patch) | |
tree | 5745237cd2a340a6a69dc34596ba87c9ba403c84 /src/tests/heap.cpp | |
parent | 8bbe1d4a61288a2998fbae05ac61ef50a8cfc4e6 (diff) | |
download | libbu++-e2a10c7b77b03bacf4d8b8dcf08f8f8f47628314.tar.gz libbu++-e2a10c7b77b03bacf4d8b8dcf08f8f8f47628314.tar.bz2 libbu++-e2a10c7b77b03bacf4d8b8dcf08f8f8f47628314.tar.xz libbu++-e2a10c7b77b03bacf4d8b8dcf08f8f8f47628314.zip |
Bu::Heap is a real class, it works great, except it doesn't grow right now.
I'm thinking the heap should add one layer to the binary tree each time it
grows, which means double+1 each time. The Bu::ItoHeap will be implemented as
soon as the rest of Bu::Heap is done.
Also, I finally added bu/util.h which is mainly handy template functions like
Bu::swap, Bu::min, Bu::max, and Bu::mid. A few more may be added.
Diffstat (limited to '')
-rw-r--r-- | src/tests/heap.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/tests/heap.cpp b/src/tests/heap.cpp new file mode 100644 index 0000000..e93749f --- /dev/null +++ b/src/tests/heap.cpp | |||
@@ -0,0 +1,29 @@ | |||
1 | #include <stdlib.h> | ||
2 | #include <stdio.h> | ||
3 | |||
4 | #include "bu/heap.h" | ||
5 | |||
6 | int main() | ||
7 | { | ||
8 | Bu::Heap<int> hInt; | ||
9 | |||
10 | for( int j = 0; j < 15; j++ ) | ||
11 | { | ||
12 | int r = rand()%10; | ||
13 | printf("Pushing: %d, top: ", r ); | ||
14 | hInt.push( r ); | ||
15 | printf("%d\n", hInt.peek() ); | ||
16 | } | ||
17 | |||
18 | for( int j = 0; j < 15; j++ ) | ||
19 | { | ||
20 | printf("%d ", hInt.peek() ); | ||
21 | hInt.pop(); | ||
22 | } | ||
23 | printf("\n"); | ||
24 | |||
25 | // hInt.print(); | ||
26 | |||
27 | return 0; | ||
28 | } | ||
29 | |||