// 测试主函数 int main() { // 建立搜索树 BSTree tree; tree.add(10); tree.add(8); tree.add(123); tree.add(11); tree.add(900); tree.BFS(); system("pause"); }
int main() { BSTree t; int arr[10], count, ref[10] = { 1, 3, 2, 5, 7, 6, 4 }; int i; printf("testing add/search..."); t.add(4); t.add(2); t.add(6); t.add(1); t.add(3); t.add(5); t.add(7); if (!t.search(1) || !t.search(2) || !t.search(3) || !t.search(4) || !t.search(5) || !t.search(6) || !t.search(7)) goto fail; if (t.search(8) || t.search(9)) goto fail; printf("[ok]\n"); printf("testing remove..."); t.remove(3); if (t.search(3) || !t.search(1)) goto fail; t.remove(5); if (t.search(5) || !t.search(1)) goto fail; t.remove(2); if (t.search(2) || !t.search(1)) goto fail; t.remove(6); if (t.search(6) || !t.search(1)) goto fail; t.remove(4); if (t.search(4) || !t.search(1)) goto fail; t.remove(1); if (t.search(1)) goto fail; printf("[ok]\n"); return 0; fail: printf("[failed]\n"); return -1; }
int main() { BSTree t; int arr[10], count, ref[10] = { 1, 3, 2, 5, 6, 4 }; int i; printf("testing insert..."); t.add(4); t.add(2); t.add(6); t.add(1); t.add(3); t.add(5); printf("[ok]\n"); printf("testing search..."); if (!t.search(1) || !t.search(2) || !t.search(3) || !t.search(4) || !t.search(5) || !t.search(6) ) goto fail; if (t.search(8) || t.search(9)) goto fail; printf("[ok]\n"); printf("testing get_postorder..."); t.get_postorder(arr, &count); if (count != 6) goto fail; for (i = 0; i < 6; i++) { if (arr[i] != ref[i]) goto fail; } printf("[ok]\n"); printf("testing count_leaf_nodes..."); if (t.count_leaf_nodes() != 3) goto fail; printf("[ok]\n"); return 0; fail: printf("[failed]\n"); return -1; }
int main() { BSTree b; printf("\nAdding elements..."); b.add(1); b.add(2); b.add(3); b.add(4); b.add(5); b.add(6); b.add(8); b.add(7); b.add(9); printf("[ok]\n"); printf("Chenking count_leaf_nodes..."); if(b.count_leaf_nodes() != 2) goto fail; printf("[ok]\n"); return 0; fail: printf("[failed]\n"); return -1; }
int main() { BSTree<int> tree; tree.add(15, 15); tree.add(8, 8); tree.add(6, 6); tree.add(7, 7); tree.add(12, 12); tree.add(11, 11); tree.add(9, 9); tree.add(20, 20); tree.add(18, 18); tree.add(25, 25); tree.add(23, 23); tree.traverse(TraverseOrder::MID_ORDER); tree.traverse(TraverseOrder::PRE_ORDER); return 0; }