diff options
Diffstat (limited to 'src/tests/heap.cpp')
| -rw-r--r-- | src/tests/heap.cpp | 53 | 
1 files changed, 53 insertions, 0 deletions
| diff --git a/src/tests/heap.cpp b/src/tests/heap.cpp index daa0356..ae130ec 100644 --- a/src/tests/heap.cpp +++ b/src/tests/heap.cpp | |||
| @@ -8,7 +8,10 @@ | |||
| 8 | #include <stdlib.h> | 8 | #include <stdlib.h> | 
| 9 | #include <stdio.h> | 9 | #include <stdio.h> | 
| 10 | 10 | ||
| 11 | #include "bu/formatter.h" | ||
| 11 | #include "bu/heap.h" | 12 | #include "bu/heap.h" | 
| 13 | #include "bu/fstring.h" | ||
| 14 | #include "bu/file.h" | ||
| 12 | 15 | ||
| 13 | typedef struct num | 16 | typedef struct num | 
| 14 | { | 17 | { | 
| @@ -35,8 +38,18 @@ typedef struct num | |||
| 35 | } | 38 | } | 
| 36 | } num; | 39 | } num; | 
| 37 | 40 | ||
| 41 | void printHeap( Bu::Heap<Bu::FString> &h, int j ) | ||
| 42 | { | ||
| 43 | Bu::FString sFName; | ||
| 44 | sFName.format("graph-step-%02d.dot", j ); | ||
| 45 | Bu::File fOut( sFName, Bu::File::WriteNew ); | ||
| 46 | Bu::Formatter f( Bu::File ); | ||
| 47 | //h.print( f ); | ||
| 48 | } | ||
| 49 | |||
| 38 | int main() | 50 | int main() | 
| 39 | { | 51 | { | 
| 52 | /* | ||
| 40 | Bu::Heap<num> hNum; | 53 | Bu::Heap<num> hNum; | 
| 41 | 54 | ||
| 42 | for( int j = 0; j < 30; j++ ) | 55 | for( int j = 0; j < 30; j++ ) | 
| @@ -53,6 +66,46 @@ int main() | |||
| 53 | hNum.dequeue(); | 66 | hNum.dequeue(); | 
| 54 | } | 67 | } | 
| 55 | printf("\n"); | 68 | printf("\n"); | 
| 69 | */ | ||
| 70 | Bu::Heap<Bu::FString> hStr; | ||
| 71 | int j = 0; | ||
| 72 | |||
| 73 | hStr.enqueue("George"); | ||
| 74 | printHeap( hStr, j++ ); | ||
| 75 | hStr.enqueue("Sam"); | ||
| 76 | printHeap( hStr, j++ ); | ||
| 77 | hStr.enqueue("Abby"); | ||
| 78 | printHeap( hStr, j++ ); | ||
| 79 | hStr.enqueue("Zorro"); | ||
| 80 | printHeap( hStr, j++ ); | ||
| 81 | hStr.enqueue("Brianna"); | ||
| 82 | printHeap( hStr, j++ ); | ||
| 83 | hStr.enqueue("Kate"); | ||
| 84 | printHeap( hStr, j++ ); | ||
| 85 | hStr.enqueue("Soggy"); | ||
| 86 | printHeap( hStr, j++ ); | ||
| 87 | |||
| 88 | while( !hStr.isEmpty() ) | ||
| 89 | { | ||
| 90 | printf("\"%s\" ", hStr.dequeue().getStr() ); | ||
| 91 | printHeap( hStr, j++ ); | ||
| 92 | } | ||
| 93 | printf("\n"); | ||
| 94 | |||
| 95 | Bu::List<Bu::FString> lStr; | ||
| 96 | |||
| 97 | lStr.insertSorted("George"); | ||
| 98 | lStr.insertSorted("Sam"); | ||
| 99 | lStr.insertSorted("Abby"); | ||
| 100 | lStr.insertSorted("Zorro"); | ||
| 101 | lStr.insertSorted("Brianna"); | ||
| 102 | lStr.insertSorted("Kate"); | ||
| 103 | lStr.insertSorted("Soggy"); | ||
| 104 | for( Bu::List<Bu::FString>::iterator i = lStr.begin(); i; i++ ) | ||
| 105 | { | ||
| 106 | printf("\"%s\" ", (*i).getStr() ); | ||
| 107 | } | ||
| 108 | printf("\n"); | ||
| 56 | 109 | ||
| 57 | return 0; | 110 | return 0; | 
| 58 | } | 111 | } | 
