Exemple #1
0
// 测试主函数  
int main()
{
	// 建立搜索树  
	BSTree tree;
	tree.add(10);
	tree.add(8);
	tree.add(123);
	tree.add(11);
	tree.add(900);


	tree.BFS();
	system("pause");
	
}
Exemple #2
0
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;
}
Exemple #3
0
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;
}
Exemple #4
0
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;
}
Exemple #5
0
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;
}