int main() { { BinarySearchTree<int> t; t.insert(8);t.insert(3);t.insert(10);t.insert(1); t.remove(1);t.remove(3); t.insert(6);t.insert(14);t.insert(4);t.insert(7);t.insert(13); assert( t.find(13)->val == 13); assert( t.findMax()->val == 14); assert( t.findMin()->val == 4); t.traverse(printNode); } { BinarySearchTree<int> t; t.insert(8);t.insert(3);t.insert(10);t.insert(1); t.insert(6);t.insert(14);t.insert(4);t.insert(7);t.insert(13); t.traverse(printNode); } return 0; }
// Test program int main( ) { BinarySearchTree<int> t; int NUMS = 400000; const int GAP = 3711; int i; cout << "Checking... (no more output means success)" << endl; for( i = GAP; i != 0; i = ( i + GAP ) % NUMS ) t.insert( i ); for( i = 1; i < NUMS; i+= 2 ) t.remove( i ); if( NUMS < 40 ) t.printTree( ); if( t.findMin( ) != 2 || t.findMax( ) != NUMS - 2 ) cout << "FindMin or FindMax error!" << endl; for( i = 2; i < NUMS; i+=2 ) if( !t.contains( i ) ) cout << "Find error1!" << endl; for( i = 1; i < NUMS; i+=2 ) { if( t.contains( i ) ) cout << "Find error2!" << endl; } BinarySearchTree<int> t2; t2 = t; for( i = 2; i < NUMS; i+=2 ) if( !t2.contains( i ) ) cout << "Find error1!" << endl; for( i = 1; i < NUMS; i+=2 ) { if( t2.contains( i ) ) cout << "Find error2!" << endl; } cout << "Finished testing" << endl; return 0; }
int main() { int n, v; char cmd[32]; while (scanf("%d", &n) != EOF) { BinarySearchTree bst; for (int i = 0; i < n; ++i) { scanf("%s", cmd); if (!strcmp(cmd, "find")) { scanf("%d", &v); TreeNode *ptr = bst.find(v); if (!ptr) { puts("null"); } else { printf("%x : %d\n", (unsigned)ptr, ptr->v); } } else if (!strcmp(cmd, "findMin")) { TreeNode *mini = bst.findMin(); if (!mini) { puts("null"); } else { printf("%x : %d\n", (unsigned)mini, mini->v); } } else if (!strcmp(cmd, "findMax")) { TreeNode *maxi = bst.findMax(); if (!maxi) { puts("null"); } else { printf("%x : %d\n", (unsigned)maxi, maxi->v); } } else if (!strcmp(cmd, "insert")) { scanf("%d", &v); bst.insert(v); } else if (!strcmp(cmd, "remove")) { scanf("%d", &v); bst.remove(v); } else if (!strcmp(cmd, "show")) { bst.show(); } } } return 0; }
int main(int argc, char **argv) { BinarySearchTree bst; bst.insert(12); bst.insert(34); bst.insert(9); bst.insert(54); bst.insert(134); bst.insert(4); bst.insert(19); bst.insert(5); bst.printTree(); cout << "-------------------------" << endl; cout<< bst.findMin(bst.thisone())->element << endl; cout<< bst.findMax(bst.thisone())->element << endl; return 0; }